为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用不带属性的 SelectNode() 检索 XML 节点列表?

如何使用不带属性的 SelectNode() 检索 XML 节点列表?

C#
桃花长相依 2023-09-16 17:48:18
我正在尝试从 XML 文件中解析出简单的字符串列表。我只想检索没有指定属性的值。例如,在此 XML 片段中:<meaning>sultry</meaning><meaning>hot</meaning><meaning>summer heat</meaning><meaning m_lang="fr">chaud</meaning><meaning m_lang="fr">torride</meaning>...呼唤SelectNodes("//meaning")将返回闷热、炎热、夏日炎热、chaud、torride。然而,我只想检索标记为 only 的值<meaning>,而不是<meaning m_lang="fr>,即我只想拥有闷热、炎热、夏日的炎热。有没有一种简单的方法只检索非属性值?它们始终是列表中的第一个,但可能有一个值或多个值。
查看完整描述

1 回答

?
绝地无双

TA贡献1946条经验 获得超4个赞

是的,您需要使您的XPath 表达式(您传递给 SelectNodes() 的字符串)更加具体。在本例中,您想要查找没有任何附加属性的节点,因此您可以像这样修改 XPath 表达式:

SelectNodes("//meaning[not(@*)]")

分解上面的内容:

  • “meaning”选择所有“meaning”元素,

  • “@*”选择至少具有一个属性的所有元素,

  • “不”否定规则

因此,这意味着“选择所有不具有至少一个属性的‘含义’元素”。


查看完整回答
反对 回复 2023-09-16
  • 1 回答
  • 0 关注
  • 76 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信