我正在使用SVG文件,这是相同的XML。我需要替换的内部文本的一些元素与一个新的元素与其内部文本的href
我的元素的一个例子是
<text xmlns="http://www.w3.org/2000/svg" xml:space="preserve" fill="#ff0000" stroke-width="0" x="239.61" y="74.89" font-size="3.37" opacity="1.00" font-family="Arial Narrow">3070119100</text>
字符串
我需要将3070119100 InnerText替换为
<a link:href="http://www.google.it">3070119100</a>
型
我想我需要添加一个子元素,并将前一个值作为InnerText。
我想与LINQ XDocument工作,但也赞赏与XMLDocument代码。
我能做什么:我能够使用XMLDocument添加子元素,但不能清除innerText文本元素:
XmlDocument doc = new XmlDocument();
doc.Load(_SVG);
XmlNodeList elementListText = doc.GetElementsByTagName("text");
for (int i = 0; i < elementListText.Count; i++)
{
XmlElement a = doc.CreateElement("a");
a.SetAttribute("xmlns", "http://www.w3.org/2000/svg");
a.SetAttribute("xmlns:xlink", "http://www.w3.org/1999/xlink");
a.SetAttribute("xlink:href", "http://www.google.it");
a.InnerText = elementListText[i].InnerText;
elementListText[i].AppendChild(a);
}
doc.Save(_SVG_TEXT);
型
通过这种方式,我得到了两次值,一次是未链接的(previous),另一次是链接的(href value),但我无法清除InnerText。
谢谢你,谢谢
1条答案
按热度按时间tkclm6bt1#
使用Xml Linq
字符串