XPath using starts-with function
I'm writing Java on Android to retrieve data from XML file, but I've got a problem. Consider this XML:
<ITEM>
<REVENUE_YEAR>2554-02</REVENUE_YEAR>
<REGION>Central</REGION>
</ITEM>
&l开发者_如何学Pythont;ITEM>
<REVENUE_YEAR>2552-02</REVENUE_YEAR>
<REGION>Central</REGION>
</ITEM>
<ITEM>
<REVENUE_YEAR>2552-03</REVENUE_YEAR>
<REGION>Central</REGION>
</ITEM>
How can I get all elements in years that start-with 2552. I tried:
//REVENUE_YEAR[starts-with(.,'2552')]/text()
It works, but when I tried:
//REVENUE_YEAR[starts-with(.,'2552')]/REGION/text()
it doesn't work.
Use:
/*/ITEM[starts-with(REVENUE_YEAR,'2552')]/REGION
Note: Unless your host language can't handle element instance as result, do not use text nodes specially in mixed content data model. Do not start expressions with //
operator when the schema is well known.
Use:
//REVENUE_YEAR[starts-with(.,'2552')]/../REGION/text()
Try this
//ITEM/*[starts-with(text(),'2552')]/following-sibling::*
精彩评论