递归java方法与xml解析
嗨,我有一个Java递归方法用来解析我的XML。我想为特定级别的XML中的元素设置名称空间。尝试设置计数器,但不起作用。有人能帮我吗 Xml文件:递归java方法与xml解析,java,xml,xml-parsing,iterator,Java,Xml,Xml Parsing,Iterator,嗨,我有一个Java递归方法用来解析我的XML。我想为特定级别的XML中的元素设置名称空间。尝试设置计数器,但不起作用。有人能帮我吗 Xml文件: <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Body> <LoginResponse> <Response>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<LoginResponse>
<Response>
<ResponseCode>0</ResponseCode>
<ResponseDescription>Request processed successfully</ResponseDescription>
</Response>
<SessionKey>12345a</SessionKey>
<Service>false</Service>
</LoginResponse>
</soapenv:Body>
</soapenv:Envelope>
你的DOM需要被修改
int level = 0;
public void invokeBusinessLogic(Response response) throws Exception
{
Iterator i = response.getFirstElement().getChildElements();//response.getFirstElement() is LoginResponse from the xml
correctNamespace(i);
}
private void correctNamespace(Iterator i) {
level++;
while (i.hasNext()) {
OMElement element = (OMElement) i.next();
Iterator ii = element.getChildElements();
element.setNamespace(null);
if (level == 2)
{
element1.declareNamespace(URI, XMLNS);
}
correctNamespace(ii);
}
}
}