Trong khi làm việc với xpath (mà không được rất dài), tôi đã xem qua một cái gì đó kỳ lạ.Tại sao biểu thức lựa chọn vị trí xpath trả về nhiều nút?
phiên bản rút gọn của xml (The xml đầy đủ là here và một bản chụp có sẵn trên pastebin):
<?xml version="1.0" encoding="utf-8" ?>
<body copyright="All data copyright San Francisco Muni 2013.">
<route tag="all">
<message id="10268" creator="jflynn" startBoundary="1378121400000" startBoundaryStr="Mon, Sep 02 04:30:00 PDT 2013" endBoundary="1378191540000" endBoundaryStr="Mon, Sep 02 23:59:00 PDT 2013" sendToBuses="false">
<text>Sunday schedules today.</text>
</message>
</route>
<route tag="44">
<message id="10221" creator="mlee" startBoundary="1377525600000" startBoundaryStr="Mon, Aug 26 07:00:00 PDT 2013" endBoundary="1382857140000" endBoundaryStr="Sat, Oct 26 23:59:00 PDT 2013" sendToBuses="false">
<routeConfiguredForMessage tag="44"> <stop tag="6420" title="Silver Ave & Revere Ave" />
</routeConfiguredForMessage>
<text>Stop moved across Revere During Construction</text>
</message>
<message id="10222" creator="mlee" startBoundary="1377525600000" startBoundaryStr="Mon, Aug 26 07:00:00 PDT 2013" endBoundary="1382857140000" endBoundaryStr="Sat, Oct 26 23:59:00 PDT 2013" sendToBuses="false">
<routeConfiguredForMessage tag="44"> <stop tag="6420" title="Silver Ave & Revere Ave" />
</routeConfiguredForMessage>
<text>Stop moved across Revere During Construction</text>
</message>
</route>
</body>
Khái niệm
//route[1]
trả lại route
nút đầu tiên như tôi mong đợi. Tuy nhiên, khi cố gắng chọn message
nút đầu tiên, với
//message[1]
nhiều message
nút đã được trả lại chứ không phải chỉ là một.
Lúc đầu, tôi cho rằng đó là vấn đề nền tảng, nhưng thử nghiệm trên Android, Desktop Java và một vài người thử nghiệm xpath trực tuyến, tôi cũng nhận được kết quả tương tự.
Điều gì có thể là vấn đề?
Câu hỏi rất hay và cơ bản .. * + 1 * cho cùng một .. –
có thể trùng lặp của [nhận nút đầu tiên trong tập kết quả xpath] (http://stackoverflow.com/questions/9199415/getting-first- node-in-xpath-result-set) –