2
我有以下XML。XPATH對命名空間返回空值
<ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://localhost/gsainis/GsaInisWebService">
<string>
<gsafeed>
<group action="add">
<record>
......
......
</record>
</group>
</gsafeed>
</string>
</ArrayOfString>
我正在使用C#代碼(.NET 4.0)來解析此XML。我正在使用下面的代碼來選擇上述XML中的所有<record>
節點。
XmlNamespaceManager xmlnsmgr = new XmlNamespaceManager(INISRecordXMLdoc.NameTable);
xmlnsmgr.AddNamespace("xsi", "http://www.w3.org/2001/XMLSchema-instance");
xmlnsmgr.AddNamespace("xsd", "http://www.w3.org/2001/XMLSchema");
xmlnsmgr.AddNamespace(string.Empty, "http://localhost/gsainis/GsaInisWebService");
foreach (XmlNode node in INISRecordXMLdoc.SelectNodes("//ArrayOfString/string/gsafeed/group/record",xmlnsmgr))
{
//Do something
}
問題是foreach循環永遠不會執行。什麼應該是正確的XPath使用,以便我得到所有<record>
節點?
@marc_c:太好了!有用。非常感謝! – itsbalur 2012-07-27 06:15:31
兩天前我閱讀了XmlNamespaceManager。現在在這裏。現在我只需要用我的自我,這對我來說將來會很自然:) – radbyx 2012-07-27 06:41:11