让 NodeList.SelectSingleNode() 正常工作时遇到问题。我的 XML 如下所示:
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<inm:Results xmlns:inm="http://www.namespace.com/1.0">
<inm:Recordset setCount="18254">
<inm:Record setEntry="0">
<!-- snip -->
<inm:Image>fileName.jpg</inm:Image>
</inm:Record>
</inm:Recordset>
</inm:Results>
数据是一长串<inm:Record>
条目。
我打开文档并根据“inm:Record”创建一个 NodeList 对象。这很好用。
XmlDocument xdoc = new XmlDocument();
xdoc.Load(openFileDialog1.FileName);
XmlNodeList xRecord = xdoc.GetElementsByTagName("inm:Record");
我开始使用 for 循环遍历 NodeList。在处理给定条目之前,我想检查是否<inm:Image>
已设置。我认为这样做会非常容易
string strImage = xRecord[i].SelectSingleNode("inm:Image").InnerText;
我的想法是,“对于我正在使用的 XRecord,去寻找<inm:Image>
价值......但这不起作用,因为我得到一个例外,说我需要一个 XmlNameSpaceManager。所以,我尝试设置它但永远无法获得正确的语法。
有人可以告诉我如何在这种情况下使用正确的 XmlNameSpaceManager 语法。
我现在已经通过循环遍历给定 xRecord 的所有 childNodes 并在我循环到它时检查标签来解决这个问题。我想先检查那个值,看看我是否需要遍历那个<inm:Record>
条目。