C# 如何获取其子节点具有某些值的节点

C# 如何获取其子节点具有某些值的节点,c#,xml,xpath,C#,Xml,Xpath,我有以下xml结构: <?xml version="1.0" encoding="UTF-8" ?> <rss> <channel> <item> <title>Some Title</title> </wp:comment> <wp:comment_approved><![CDATA[1]]

我有以下xml结构:

<?xml version="1.0" encoding="UTF-8" ?>
<rss>
    <channel>
        <item>
            <title>Some Title</title>
            </wp:comment>
                <wp:comment_approved><![CDATA[1]]></wp:comment_approved>
            </wp:comment>
            </wp:comment>
                <wp:comment_approved><![CDATA[1]]></wp:comment_approved>
            </wp:comment>
        </item>
    </channel>
</rss>

但是,如果wp:comment\u approved的值为1,我如何获取所有wp:comments呢?

它是更新的@Stefan Hegny answer,因为您不需要comment\u approvedelement,而是wp:comment

我不确定默认css定位器是否在这里工作,但在常见的css xPath中,我将使用此定位器逻辑很简单-您搜索一些元素,其中包含具有特殊参数的元素,因此您可以根据需要调整此定位器:

//someTag[./innerTag[text() = '1']]

您的示例xml无效,在某些地方,/before wp:comment太多。
xmlNode.SelectNodes("//*[name()='wp:comment'][./*[local-name() = 'comment_approved' and . = '1']")
//someTag[./innerTag[text() = '1']]