我有xml文件,其中有很多产品。并非我要用于导入的所有对象。通过使用XPATH,我需要从导入中排除包含特定名称的所有项目:lens
<items>
<item>
<id>12612991</id>
<name>Polarized Lens</name>
<description></description>
<video>link</video>
<status>expired</status>
<price>0</price>
<currency></currency>
</item>
<item>
<id>12612921</id>
<name>Polarized glass</name>
<description>asdf</description>
<video>link</video>
<status>expired</status>
<price>0</price>
<currency></currency>
</item>
</items>
我正在尝试使用此
//*[not(contains(name(),'Lens'))]
因此,将仅导入两个项目中的一个,在这种情况下-> Polarized glass
我还要尝试从导入中排除具有特定ID的所有商品
//*[not(contains(ID(),'12612921,12612926,12612924'))]
感谢您的帮助。
答案 0 :(得分:1)
尝试在XPath下获取所需的输出:
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="property">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="label" type="xs:string" use="required" />
<xs:attribute name="name" type="xs:string" use="required" />
<xs:attribute name="units" type="xs:string" use="required" />
<xs:attribute name="sourcetype" type="xs:string" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
如果您使用XPath 1.0:
//item[not(contains(name/text(), 'Lens')) and not(id=('12612921', '12612926', '12612924'))]