2

このレコード構造を考えると、私の正しいXpath式は何でしょうか

ベースは/products/productです

  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)/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

ベースは/products/productです

1)カテゴリが「ウィット」の製品レコードのみを選択します

使用

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

2)ブランドフィールドが空でない製品レコードのみを選択します

使用

../product[additional/field[@name='brand' and normalize-space()]]
于 2012-08-16T03:11:54.663 に答える
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>

商品の名前のみを返すことに注意してください。すべての製品の詳細を返したい場合は、「selectの値」から「/name」を削除するだけです。

于 2012-08-16T09:27:12.063 に答える