首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从XPathNodeIterator获取元素值?

如何从XPathNodeIterator获取元素值?
EN

Stack Overflow用户
提问于 2010-12-08 17:26:45
回答 1查看 2.2K关注 0票数 1

当我尝试这样编写代码时,

代码语言:javascript
复制
XPathNodeIterator it;

string selectStr = "Equipment/Group/item";
it = nav.Select(selectStr);
while (it.MoveNext())
{
    String strVal = "";
    if (it.Current.HasChildren)
    {
        strVal = it.Current.Value.ToString(); // get wrong value here. I want to get 'COM' and 'MD'
    }
}

我的Xml文件就像这样

代码语言:javascript
复制
<Equipment xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <License licenseId="" licensePath=""/>
  <Group>
    <item>
      <key>COM</key>
      <value>
        <format>10</format>
        <value>0</value>
      </value>
    </item>
    <item>
      <key>MD</key>
      <value>
        <format>20</format>
        <value>test</value>
      </value>
    </item>
.....

我发现当我使用while方法循环所有的xml文件时非常方便。

但是我不知道当我像上面那样定义一个XPathNodeIterator时,如何建立关系来获取元素的值?

实际上,我需要在XPathNodeIterator的帮助下读取整个Xml文件。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-12-08 17:31:00

您必须为每个子节点启动一个新的迭代器,只选择子项。一般而言,XPathNodeIterator和XPath更适合于中提取xml数据。如果您想读取整个XML文件,您应该考虑XmlReader (非常快,只向前)或XDocument (易于使用)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4385898

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档