Moim celem jest wyodrębnienie niektórych węzłów z wielu plików XML z wieloma przestrzeniami nazw przy użyciu XPath. Wszystko działa dobrze, o ile znam identyfikatory URI przestrzeni nazw. Nazwa przestrzeni nazw pozostaje niezmienna, ale Schematy (XSD) są czasami generowane przez klienta, tj. Nieznane mi. Wtedy ja zostaję z zasadniczo trzy możliwości:
jak zignorować przestrzenie nazw za pomocą XPath
używać tylko jeden schemat dla przestrzeni nazw, w nadziei, nic się nie uda (? Mogę być pewny)
dostać dzieciom węzły dokumentu i poszukaj pierwszego węzła z identyfikatorem URI przestrzeni nazw, mając nadzieję na jego obecność i po prostu użyj URI, mając nadzieję, że jest poprawny. można pomylić z wielu powodów
jakoś powiedzieć XPath: „Słuchaj, ja nie dbają o przestrzeniach nazw, wystarczy znaleźć wszystkie węzły z tej nazwy, mogę nawet powiedzieć, że nazwa przestrzeni nazw, po prostu nie URI” . I jest to pytanie tutaj ...
To nie jest powtórzeniem licznej „Moja praca nie robi wyrażenie XPath, ponieważ nie jestem świadoma przestrzeni nazw świadomości” pytania jak znaleźć here lub here. Wiem, jak używać świadomości przestrzeni nazw. Po prostu nie jak się tego pozbyć.
Jeśli nie znasz schematów, skąd wiesz, jakie elementy chcesz? –
Dokładny duplikat [Jak ignorować przestrzeń nazw podczas analizowania dokumentu XML za pomocą XPath] (http://stackoverflow.com/questions/4402310/how-to-ignore-namespace-when-parsing-xml-document-with-xpath) –
dziękuję za wskazanie, Alejandro. Szukanie "ignore namespace xpath" powinno ujawnić to, ale nie dało to – kostja