1

有时我有一个 XML:

<resource 
    xsi:schemaLocation="http://www.test.com/resource http://test.com/schema/resource 
    xmlns="http://www.test.com/resource"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
...
</resource>

有时没有命名空间 URI,即

<resource>
...
</resource>

如何获取resource任何命名空间 URI 的所有子元素?

我用来处理元素并以这种方式nu.xom.Element构建:nu.xom.Document

nu.xom.Builder parser = new nu.xom.Builder();
return parser.build( new ByteArrayInputStream(xmlString.getBytes()) );
4

1 回答 1

0

您还没有指出是否<resource>是根元素。如果是,那么找到它是微不足道的。如果没有,请 <resource>通过以下方式查找所有元素:

Nodes resourceNodes = yourDoc.query("//*[local-name()='resource']");
for (int i = 0; i < resourceNodes .size(); i++) {
    Element resource = (Element) resourceNodes .get(i);
    Elements childElements = resource.getChildElements();
    // .. etc
}

或直接:

Nodes resourceChildren = yourDoc.query("//*[local-name()='resource']/*");
于 2013-06-12T21:14:36.757 回答