2

鉴于此记录结构,我正确的 Xpath 表达式是什么

基地是/产品/产品

  1. 仅选择 category = "Wit" 的产品记录
  2. 仅选择具有非空品牌字段的产品记录

    <product>
        <productID>?7804407001751?</productID>
        <name>?Name value?</name>
        <price currency="EUR">?11.?24?</price>
        -<productURL>
            product url value
        </productURL>
        -<imageURL>
            product img url value?
        </imageURL>
        -<description>
            description value
        </description>
        -<categories>
            <category path="Wit">?Wit?</category>
        </categories>
        -<additional>
            <field name="delete">?false?</field>
            <field name="brand">?Amaral?</field>
            +<field name="short_description"></field>
            <field name="deliveryTime">?5 werkdagen?</field>
            <field name="deliveryCosts">?5.?95?</field>
            +<field name="imageURL_2"></field>
            +<field name="imageURL_3"></field>
        </additional>
    </product>
4

3 回答 3

0

基地是/产品/产品

1) 只选择 category = "Wit" 的产品记录

使用

../product[categories/category/@path = 'Wit']

2) 仅选择品牌字段非空的产品记录

使用

../product[additional/field[@name='brand' and normalize-space()]]
于 2012-08-16T03:11:54.663 回答
0

试试这些...

1)/products/product[categories/category/@path='Wit']

2)/products/product[additional/field[@name='brand'][normalize-space()]]

如果你想两者结合:

/products/product[categories/category/@path='Wit' and additional/field[@name='brand'][normalize-space()]]
于 2012-08-16T03:05:41.787 回答
0
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Edited by XMLSpy® -->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="product">
With 'Wit':
<xsl:value-of select="../product[categories/category/@path = 'Wit']/name"/>
with brandname:
<xsl:value-of select="../product[additional/field[@name='brand' and normalize-space()]]/name"/>
</xsl:template>
</xsl:stylesheet>

请注意,我只返回产品的名称。如果您希望返回所有产品详细信息,只需从“value-of select”中删除“/name”即可。

于 2012-08-16T09:27:12.063 回答