我有替换的xml,它有占位符和它的值。我有XML字符串,需要在其中搜索占位符并将其替换为值。
例如,
占位符XML
<PlaceHolders>
<PlaceHolder placeholder="PD1" value="value1" />
</PlaceHolders>XML
<customers>
<customer avatarURL="PD1"/>
</customers>用值"PD1“代替"value1”的最佳方法是什么?
发布于 2012-07-13 16:46:14
这里有一种使用XPath的方法。这将用其正确的值替换单个占位符。您需要循环遍历,并对每个占位符执行一次。这将替换XML中任何元素的任何属性中的占位符:
Dim doc As New XmlDocument()
doc.LoadXml("...")
For Each node As XmlNode In doc.SelectNodes("//@*[.='PD1']")
node.InnerText = "value1"
Next但是,如果您还需要在元素的文本值(例如<customer>PD1</customer>)中替换它,则需要更改XPath以查找属性或元素文本值:
Dim doc As New XmlDocument()
doc.LoadXml("...")
For Each node As XmlNode In doc.SelectNodes("//@*[.='PD1'] | //*[text()='PD1']")
node.InnerText = "value1"
Nexthttps://stackoverflow.com/questions/11474134
复制相似问题