我正在调用web服务并接收响应
<ns2:sendGetResponse xmlns:ns2='http://test.com/bt/' xmlns:SOAP-
ENV='http://schemas.xmlsoap.org/soap/envelope/'
xmlns:xs='http://www.w3.org/2001/XMLSchema' xmlns:xsi='http://www.w3.org/2001/XMLSchema- instance'><return>
[{"Id":30477,"EmailAddress":"truech@abc.com","FirstName":"abc","LastName":"xyz","MiddleNam e":"H","MaidenName":null,"OtherNames":null,"RaceCode":"A }]
</return></ns2:sendGetResponse>
我需要将标签返回的值作为字符串读取。我尝试使用和不使用xpath的Dom。它们都返回null ..我认为它是由于命名空间问题..请帮忙。
由于
答案 0 :(得分:0)
对于这样一个简单的xml,我不会打扰DOM。字符串解析就足够了。你可以用不同的方式做到这一点,但这可能是最短的。
String string =
"<ns2:sendGetResponse xmlns:ns2='http://test.com/bt/' xmlns:SOAP- \r\n" +
"ENV='http://schemas.xmlsoap.org/soap/envelope/' \r\n" +
"xmlns:xs='http://www.w3.org/2001/XMLSchema' xmlns:xsi='http://www.w3.org/2001/XMLSchema- instance'><return> \r\n" +
" [{\"Id\":30477,\"EmailAddress\":\"truech@abc.com\",\"FirstName\":\"abc\",\"LastName\":\"xyz\",\"MiddleNam e\":\"H\",\"MaidenName\":null,\"OtherNames\":null,\"RaceCode\":\"A }] \r\n" +
"</return></ns2:sendGetResponse>";
System.out.println( string.split("</?return>")[1] );