0
我正在使用Visual Studio 2010在VB中编写程序。我试图在xml中替换文本,但我不知道如何才能做到这一点。替换XML中的部分内文本
我的xml文件看起来像这样。有不同级别的标签具有相同的名称。
<root>
//1st example
<tagA> //outer
<nameA>something</nameA>
<tagA>
<flagA>%replace001%</flagA>
<flagB>Keep this</flagB>
</tagA> //inner
</tagA>
<tagB>
some other stuff
</tagB>
//2nd example
<tagA>
%raplace002%
</tagA>
</root>
我试图通过%
包围更换价值观,以及那些被保证的广告下tagA
,我写我的代码是这样的:
replaceList = {"%replace001", "%replace002%"}
For Each str in replaceList
For Each node in xmlDoc.GetElementsByTagName("tagA")
node.InnerText = node.InnerText.Replace(str, "success")
Next
Next
但是,这引起了问题在第一个例子中,它获得了该部分的外部部分而不是内部部分,这使得Replace
不完全是我正在寻找的。
有人可以帮助我吗?我基本上只想替换最内在的inntertext。
注意:我使用的是XmlDocument
,请不要提供将整个xml转换为字符串并执行简单String.Replace的答案。
谢谢!
编辑:
对不起,我没有说清楚。
还有更多的孩子在tagA
和tagA
可能是另一个孩子tagA
。
我在寻找更多最内在的tagA
,但并不总是表示它没有孩子。
对不起,我没有说清楚,请参阅我的编辑。 – sora0419 2014-12-03 06:11:15
@ sora0419检查我更新的答案 – har07 2014-12-03 07:39:00