正如标题所示,我对" getElementsByTagName"存在问题。在我读完XML文件之后在文档类上。
URL url = new URL("http://example.com/file/path");
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
factory.setNamespaceAware(true);
Document doc = factory.newDocumentBuilder().parse(url .openStream());
NodeList items = doc.getElementsByTagName("tagname");
System.out.println(items.getLength());
上面的代码在某种程度上起作用,我阅读的文件大约有17,000个元素,其标记名为我搜索但无论我尝试什么,它总是只找到8893个项目。
我试过"随机"关于命名空间搜索等问题出现在stackoverflow上的东西,如果这是一个问题但是没有任何作用,也只是试图增加内存堆。
xml文档的外观示例:
<base-element>
<sub-element1>
<tagname id="x" classname="string">
<attribute></attribute>
</tagname>
...
</sub-element1>
<sub-element2>
<tagname id="x" classname="string">
<attribute></attribute>
</tagname>
...
</sub-element2>
</base-element>
我需要在子元素1和2中找到所有的标记名。但是目前代码不是在一个部分中找到它们的所有事件,而是随机选择。