以下のxmlファイルについては、xpathを使用して書籍IDの値を抽出するにはどうすればよいですか?私は次のコードを使用していますxpathで親ノードの属性値を抽出する方法は?
<catalog>
<book id="bk101">
<author>Gambardella, Matthew</author>
<title>XML Developer's Guide</title>
<genre>Computer</genre>
<price>
<amount>25</amount>
<tax>12</tax>
<total>37</total>
</price>
<publish_date>2000-10-01</publish_date>
<description>An in-depth look at creating applications with XML</description>
</book>
</catalog>
:
REGISTER hdfs:///user/iahlu/piggy.jar ;
DEFINE XPath org.apache.pig.piggybank.evaluation.xml.XPath();
A = LOAD '/user/iahlu/books.xml' using org.apache.pig.piggybank.storage.XMLLoader('book') as (x:chararray);
B = FOREACH A GENERATE XPath(x, 'book/price/amount'),XPath(x,'/book/price/../@id');
dump B;
をしかし、私の出力は量を抽出し、idフィールドは空白のままです。コードでは何が分かりませんか?
(25,)
(23,)
(27,)
(21,)
(31,)
こんにちは、あなたは '// book/@ id'または '// catalog/book/@ id'をロケータとして試しましたか? –