c# - 从 SelectSingleNode 获取具有属性的节点

标签 c# xml

我是个新手,但最近我一直在研究解析一些 XML 数据。我实际上在这个网站上发现了一个很好的功能,我可以通过以下方式到达具有特定属性的特定节点: docFoo.SelectSingleNode("foo/bar/baz[@name='qux']); 但是,数据看起来像这个:

<saving-throws>
    <saving-throw>
        <name>Fortitude</name>
        <abbr>Fort</abbr>
        <ability>Con</ability>
        <modifiers>
            <modifier name="base" value="2"/>
            <modifier name="ability" value="5"/>
            <modifier name="magic" value="0"/>
            <modifier name="feat" value="0"/>
            <modifier name="race" value="0"/>
            <modifier name="familar" value="0"/>
            <modifier name="feature" value="0"/>
            <modifier name="user" value="0"/>
            <modifier name="misc" value="0"/>
        </modifiers>
    </saving-throw>
    <saving-throw>
        <name>Reflex</name>
        <abbr>Ref</abbr>
        <ability>Dex</ability>
        <modifiers>
            <modifier name="base" value="6"/>
            <modifier name="ability" value="1"/>
            <modifier name="magic" value="0"/>
            <modifier name="feat" value="0"/>
            <modifier name="race" value="0"/>
            <modifier name="familar" value="0"/>
            <modifier name="feature" value="0"/>
            <modifier name="user" value="0"/>
            <modifier name="misc" value="0"/>
        </modifiers>
    </saving-throw>

而且我希望能够获得名称为 base 的节点,但对于子节点“abbr”= xx 的每个保存 throw 节点。我能否以某种方式在单个 SelectSingleNode 中执行此操作,还是我将不得不在保存时停止并遍历树的其余部分?

最佳答案

这应该给你你想要的:

SelectSingleNode("/saving-throws/saving-throw[abbr = 'Fort']/modifiers/modifier[@name='base']");

关于c# - 从 SelectSingleNode 获取具有属性的节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2917117/

相关文章:

c# - 在 .NET 中使用 DynamoDB 保留子类

c# - 如何在 C# 中加载我的测试数据?

c# - 使用 DI API 将 Sap B1 hana 与 C# 应用程序连接

javascript - 动态在表行内生成表

c# - LINQ 到 XML : handling nodes that do not exist?

c# - 代码隐藏中的电子邮件格式

SQL Server : OPENXML vs SELECT. .FROM 在处理 XML 时?

java - 在 Java 中的 XML 标记中添加字符串?

python - xml.dom.minidom 通过标记名获取元素

python - 从 xml 文件中提取数据(python)