我觉得这应该比现在更容易,但我似乎无法弄清楚。这是我的测试用例。
Imports <xmlns="http://www.w3.org/2000/svg">
Public Sub Test()
Dim doc As XDocument = XDocument.Load("input.svg")
Dim svg As XElement = doc.Elements.First
svg.Add(<text>
<tspan>Some Text</tspan>
</text>)
svg.Save("output.svg")
End Sub
输入xml
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg">
<g id="layer4" >
</g>
</svg>
我得到的是以下输出,
<?xml version="1.0" encoding="utf-8"?>
<svg xmlns="http://www.w3.org/2000/svg">
<g id="layer4"></g>
<text xmlns="http://www.w3.org/2000/svg">
<tspan>Some Text</tspan>
</text>
</svg>
为什么新的文本元素看不到它正在使用默认命名空间并没有使用 xmlns?如果我离开该语句,我会在文本元素上Imports <xmlns="http://www.w3.org/2000/svg">
得到一个空的命名空间。xmlns=""