XSD架構,我有工作,要求無論是國際或國內的地址選擇一個節點:如何conditinally XPath中
"/mns:PhysicalAddress/mns:DomesticAddress/mns:City"
或
"/mns:PhysicalAddress/mns:InternationalAddress/mns:City"
它被用作參數在如XMLUtils.BuildField(Document doc, String xpath)
中的Java方法中。
我知道我可以直接找到創建doc
的Java對象,並使用自動生成的bean查詢元素,但我更喜歡保留在XPath的簡潔領域。這可能嗎?
如果是這樣,我該如何編寫一個XPath表達式選擇mns:City
而不管它是國際還是國內地址?
注意:這在Java,而不是Javascript,HTML或XSLT,所以我不認爲<xsl:if>
在這裏是相關的。
謝謝!你在那裏放的表達是否來自我原來的'xpath'中的單個'/ mns:City'?或者它是獨立的?我從來沒有見過這種「反向層次」,這就是爲什麼我問。 +1現在,我會接受,一旦我得到它的測試。 – WinWin
它是獨立的(即將完全取代你當前的xpath)。我不相信反向層次結構是常見的。我只看到它用於這種場景,你需要在節點上做一些'或'。 –
好吧,想出如何進入層次結構 - 參見最後一個例子。 –