在XPath中选择父节点?

这是我正在使用的XML片段(还有更多),我试图运行XPath表达式来查找Item部分中的ASIN节点,同时确认Author不是JK Rowling。在XPath中选择父节点?

我尝试这样做:/ItemSearchResponse/Items/Item/ItemAttributes[Author = "J.K. Rowling"]/parent::

但它没有返回比赛,你能有人指导我访问父属性?

<?xml version="1.0" encoding="UTF-8"?>  

<ItemSearchResponse>

<Items>

<Request>

<IsValid>True</IsValid>

<ItemSearchRequest>

<Condition>New</Condition>

<DeliveryMethod>Ship</DeliveryMethod>

<Keywords>Rowling Fiction English</Keywords>

<MerchantId>Amazon</MerchantId>

<ResponseGroup>Small</ResponseGroup>

<SearchIndex>Books</SearchIndex>

</ItemSearchRequest>

</Request>

<TotalResults>171</TotalResults>

<TotalPages>18</TotalPages>

<Item>

<ASIN>0747557462</ASIN>

<ItemAttributes>

<Author>Sarah Brown</Author>

<Author>Gil McNeil</Author>

<Creator Role="Foreword">J.K. Rowling</Creator>

<Manufacturer>Bloomsbury UK</Manufacturer>

<ProductGroup>Book</ProductGroup>

<Title>Magic</Title>

</ItemAttributes>

</Item>

</Items>

</ItemSearchResponse>

回答:

家长可以通过.. XPath中进行选择,但通常它的清洁更高的使用谓词的祖先,而不是:

//Item[not(ItemAttributes/Author="J.K. Rowling")]/ASIN 

将选择Item元素都ASIN元素没有一个ItemAttributes/Author字符串值为"J.K. Rowling"

以上是 在XPath中选择父节点? 的全部内容, 来源链接: utcz.com/qa/257964.html

回到顶部