0
我有以下XML文件XPath查詢優化
<site>
<people>
<person id="person0">
<emailaddress>[email protected]</emailaddress>
</person>
<person id="person1">
<emailaddress>[email protected]</emailaddress>
</person>
<person id="person2">
<emailaddress>[email protected]</emailaddress>
</person>
</people>
<closed_auctions>
<closed_auction>
<annotation>123</annotation>
<seller person="person1"/>
</closed_auction>
<closed_auction>
<annotation></annotation>
<seller person="person2"/>
</closed_auction>
<closed_auction>
<annotation></annotation>
<seller person="person3"/>
</closed_auction>
</closed_auctions>
</site>
我們的人的名單和拍賣的列表,你可以看到賣家部分包含對個人ID
我想引用檢查所有closed_auction標記,如果有非空註釋標籤,我必須讓賣家個人ID和打印此賣家的電子郵件地址(這個人)
當前查詢看起來是這樣的:
/網站/人/人[@ ID = /網站/ closed_auctions/closed_auction [註釋/文()] /賣方/ @人]/EMAILADDRESS /文()
此查詢是針對小型的XML文件運行良好大小,但它永遠不會結束大型XML文件。 (我認爲這個問題是關係到嵌套的XPath,但我無法找到任何其他方式)
請你提出任何改進
謝謝
運行兩個查詢而不是一個? – MattH 2013-03-21 00:12:53
開始和結束標記不匹配:'seller' – kev 2013-03-21 00:35:50
在doc(「input.xml」)中嘗試xquery:'for $ x // person let $ y:= root($ x)// seller [@ person = $ x/@id]其中$ y /../ annotation/text()!=「」return $ x/emailaddress/text()' – kev 2013-03-21 00:49:49