<?xml version="1.0" ?>
<Report xmlns="http://schemas.microsoft.com/sqlserver/reporting/2005/01/reportdefinition" xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner">
<buttons>
<workshop1>hello</workshop1>
<workshop1>Google</workshop1>
<url1>www.google.co.uk</url1>
</buttons>
</Reports>
上面是我的xml文件。我应该如何更改Duplicate Node的内部文本。对于以上xml中的Exampla,我必须在c#中使用XPath将第二个节点Google更改为yahoo。谢谢
答案 0 :(得分:0)
为名称空间URI映射声明正确的前缀,然后您可以使用该前缀加上指定元素索引的XPath查询来选择第二个<workshop1>
元素,例如:
XmlDocument doc = new XmlDocument();
doc.Load("C:\\test.xml");
XmlNamespaceManager oManager = new XmlNamespaceManager(doc.NameTable);
oManager.AddNamespace("ns", "http://schemas.microsoft.com/sqlserver/reporting/2005/01/reportdefinition");
var google = doc.SelectSingleNode("/ns:Report/ns:buttons/ns:workshop1[2]", oManager).InnerText;