如何获取guid,使用xpath知道名称

如何获取guid,使用xpath知道名称,xpath,aspdotnetstorefront,Xpath,Aspdotnetstorefront,给定以下响应,其中可能包含多个查询元素(应具有不同的名称)和多个行元素,这些元素内部应具有不同的名称和制造商GUID元素 <?xml version="1.0" encoding="utf-8"?> <AspDotNetStorefrontImportResult Version="7.1" DateTime="10/2/2013 4:17:04 PM"> <Query Name="Manufacturers"> <Row> <

给定以下响应,其中可能包含多个
查询
元素(应具有不同的名称)和多个
元素,这些元素内部应具有不同的
名称
制造商GUID
元素

<?xml version="1.0" encoding="utf-8"?>
<AspDotNetStorefrontImportResult Version="7.1" DateTime="10/2/2013 4:17:04 PM">
 <Query Name="Manufacturers">
  <Row>
    <name>Nike</name>
    <manufacturerguid>84775261-731d-4e11-bb82-fa5f61bc61c5</manufacturerguid>
  </Row>
 </Query>
</AspDotNetStorefrontImportResult>
您可以使用xpath:

/AspDotNetStorefrontImportResult/Query[@Name='Manufacturers']/Row[name[.='Nike']]/manufacturerguid
键是
行[name[.='Nike']]
,它查找包含指定name元素的行。从该行,您可以获得manufacturerguid

您还可以使用
以下同级
从名称获取manufacturerguid:

/AspDotNetStorefrontImportResult/Query[@Name='Manufacturers']/Row/name[.='Nike']/following-sibling::manufacturerguid

您可以使用
访问父节点(一级以上)

//AspDotNetStorefrontImportResult/Query[@Name='Manufacturers']/Row/Name[text()=“Nike”]/../manufacturerguid
要从
name[text()=“Nike”]
节点开始获取
manufacturerguid
,您可以使用
导航到其父节点。
(将带您到相关的
),然后使用
/manufacturerguid
再次向下转到
manufacturerguid


其他选择: 另一个选项是在
[]
查询表达式中包含所有信息(
query[@Name='Manufacturers'和Row/Name[text()=“Nike”]]
):

//AspDotNetStorefrontImportResult/Query[@Name='Manufacturers'和Row/Name[text()=“Nike”]]/Row/manufacturerguid
或者使用多个
[]
(工作原理相同:
查询[@Name='Manufacturers'][Row/Name[text()=“Nike”]
):

//AspDotNetStorefrontImportResult/Query[@Name='Manufacturers'][Row/Name[text()=“Nike”]]/Row/manufacturerguid

一个稍微不同的答案对我来说很有用

/AspDotNetStorefrontImportResult/Query[@Name = 'Manufacturers']/Row[name = 'Nike']/manufacturerguid
/AspDotNetStorefrontImportResult/Query[@Name = 'Manufacturers']/Row[name = 'Nike']/manufacturerguid