如何获取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