【发布时间】:2011-09-11 01:46:01
【问题描述】:
我有以下 XML:
<Library>
<Item>
<Field Name="Name">smooth</Field>
<Field Name="File Type">mid</Field>
<Field Name="File Size">60026</Field>
</Item>
<Item>
<Field Name="Name">mid</Field>
<Field Name="File Type">mp3</Field>
<Field Name="File Size">4584972</Field>
</Item>
</Library>
我想获取文件类型为“mid”的项目的所有项目名称。我的 XPATH 查询看起来像
/Library/Item/Field
[
@Name="Name" and
(../Field[@Name="File Type" and ../Field[.="mid"]])
]
但不幸的是,这两个项目都是从该查询返回的。
smooth
mid
似乎最后一个条件不是仅针对具有“文件类型”属性的字段检查,而是针对所有字段。这会导致返回名称“mid”,即使该项目的文件类型为“mp3”。
如何将与“mid”的比较限制为具有属性 Name="File Type" 的字段的值?
谁能给我推荐一个按预期工作的 XPATH 语法?
【问题讨论】:
标签: xpath