У меня есть следующий SOAP сообщение:Синтаксические и проверка правильности XML с пространствами имен в JAVA
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sch="http://test.testMessage.com/v2/TestMessage/schema">
<soapenv:Header/>
<soapenv:Body>
<sch:input>
<sch:header>
<sch:MessageName>ChangePurchaseOrder</sch:MessageName>
</sch:header>
<sch:payload>
<sch:xmlData>
</sch:xmlData>
</sch:payload>
</sch:input>
</soapenv:Body>
</soapenv:Envelope>
Мне нужно разобрать его (с пространствами имен) и получить только «входной» узел в новый документ. как показано ниже:
<sch:input xmlns:sch="http://test.testMessage.com/v2/TestMessage/schema">
<sch:header>
<sch:MessageName>ChangePurchaseOrder</sch:MessageName>
</sch:header>
<sch:payload>
<sch:xmlData>
</sch:xmlData>
</sch:payload>
</sch:input>
Я пытаюсь извлечь эту часть сообщения. Может ли кто-нибудь помочь мне извлечь часть кода, показанную во втором фрагменте, из первого?
Я пробовал что-то вроде этого до сих пор: NodeList inputNodeList = doc.getElementsByTagNameNS (namespaceURI, "sch: input");
но когда я делаю int length = inputNodeList.getLength();
Я получаю значение «длина» как 0, где, как предполагается, будет 1. Любая помощь будет оценена!
спасибо!