Posted to tcl by mjanssen at Mon Aug 08 19:07:29 GMT 2022view pretty
As suggested by de:
### Using `createElementNS`
```tcl
package require tdom
set xml {
<ns1:Root xmlns="http://default.com" xmlns:ns1="http://some.otherns.com">
<ns1:Item>Here be text</ns1:Item>
</ns1:Root>}
dom parse $xml doc
set root [$doc childNodes]
set item [$doc createElementNS http://some.otherns.com ns1:Item]
set text [$doc createTextNode "other text"]
$item appendChild $text
$root appendChild $item
puts [$root asXML]
```
``` xml
<ns1:Root xmlns="http://default.com" xmlns:ns1="http://some.otherns.com/">
<ns1:Item>Here be text</ns1:Item>
<ns1:Item>other text</ns1:Item>
</ns1:Root>
```
### Using `appendFromScript`
```tcl
package require tdom
set xml {
<ns1:Root xmlns="http://default.com" xmlns:ns1="http://some.otherns.com">
<ns1:Item>Here be text</ns1:Item>
</ns1:Root>}
dom parse $xml doc
dom createNodeCmd -tagName ns1:Item -namespace http://some.otherns.com element my_Itemcmd
dom createNodeCmd textNode t
set root [$doc childNodes]
$root appendFromScript {
my_Itemcmd {t Othertext}
}
puts [$root asXML]
```
```xml
<ns1:Root xmlns="http://default.com/" xmlns:ns1="http://some.otherns.com/">
<ns1:Item>Here be text</ns1:Item>
<ns1:Item>Othertext</ns1:Item>
</ns1:Root>
```