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

时间:2017-06-14 07:34:22

标签: 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]]></wp:comment_approved>
            </wp:comment>
            </wp:comment>
                <wp:comment_approved><![CDATA[1]]></wp:comment_approved>
            </wp:comment>
        </item>
    </channel>
</rss>

我可以轻松获得所有wp:评论:

xmlNode.SelectNodes("*[name()='wp:comment']")

但是我如何得到所有wp:评论wp:comment_approved的值是否为1?

1 个答案:

答案 0 :(得分:1)

它已更新@Stefan Hegny回答,因为您不需要file=open("c:/pdb/1ana.pdb") list = [] for line in file: list1=lines.split() id=list1[0] if id=='ATOM': if list1[2]=='C4': list.append(list1[3]) print(list) 元素,但是comment_approved

wp:comment

我不确定默认的css定位器是否在这里工作,但是在常见的css xPath中我将使用这个定位器(逻辑很简单 - 你搜索一些元素,包含带有特殊参数的元素,所以你可以调整这个定位器到你的需求):

xmlNode.SelectNodes("//*[name()='wp:comment'][./*[local-name() = 'comment_approved' and . = '1']")