2013-02-28 11 views
7

Mam xml jakWybierz węzeł bez nazw z XPath

<root xmlns:ns1="http://foo"> 
    <ns1:child1>Text</ns1:child1> 
    <ns1:child2>Number</ns1:child2> 
</root> 

Teraz mam to od różnych osób, tak że na przykład osoba 2 wysyła mi kolejną wiadomość o takiej samej strukturze jak

<root xmlns:anotherNs="http://foo"> 
    <anotherNs:child1>Another Text</anotherNs:child1> 
    <anotherNs:child2>Another Number</anotherNs:child2> 
</root> 

Tak więc jedyną różnicą jest nazwa przestrzeni nazw. Jak mogę wybrać zawartość child2 dla obu xml z jednym wyrażeniem XPath?

Coś takiego jak "/ root/child2" lub "// child2" nie działa.

Odpowiedz

0

można przypisać dowolny prefiks chcesz (powiedzmy banan) do nazw "http://foo" i ekspresję /root/banana:child2 znajdzie element child2, niezależnie co namespace prefix został użyte w dokumencie źródłowym. Tylko identyfikator URI przestrzeni nazw musi się zgadzać.

Powiązane problemy