【问题标题】:XmlDocument SelectSingleNode of improperly formed XML格式不正确的 XML 的 XmlDocument SelectSingleNode
【发布时间】:2011-02-07 10:34:59
【问题描述】:

我有一个格式不正确的XmlDocument

<library>
  <dept>
    <books></books>
    <language></language>
  </dept>
  <dept>
    <lecturer></lecturer>
  </dept>
</library>

我想为'讲师'标签做一个XmlDocument.SelectSingleNode

当我选择 &lt;library&gt; 标签的 ChildNodes 时,我只得到 &lt;books&gt;&lt;language&gt; 而不是 &lt;lecturer&gt;。 如何获取标签的 XmlNode 对象?

【问题讨论】:

    标签: c# xmldocument selectsinglenode


    【解决方案1】:

    XML 是格式良好的 XML。否则它不会加载到 XmlDocument 中。

    library 中唯一的 ChildNodesdept 节点。

    要获得讲师,您可以执行以下操作:

    XmlDocument.SelectSingleNode("library/dept/lecturer");
    

    【讨论】:

    • 谢谢杰夫。我又错过了一个标签。 。我现在如何获得讲师标签? 谢谢你希德
    • @user315445 (Sid) - 它不会改变,因为location 标记与dept 处于相同的级别
    • 实际上我必须解析一个 csproj 文件,但我在获取 PostBuildEvent 标记时遇到了问题。因此,我没有使用 selectSingleNode,而是使用了 GetElementsByTagName()。它解决了我的问题。感谢 Jeff 的回答,否则我会花更多时间在 SelectSingleNode 方法上。
    【解决方案2】:

    要解析 csproj 文件,请使用 GetElementsByTagName()。我不知道为什么 SelectSingleNode() 不起作用!

    谢谢 席德

    【讨论】:

    • 如果这是一个新问题,您应该将其添加为一个新问题。对于信息,使用 csproj 的问题通常是它是命名空间的 xml,这......更棘手。
    猜你喜欢
    • 2019-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多