Java 获取的子节点太多,无法获取属性
我有一个简单的XML,我想得到属性。网上有一些例子,但我仍然不明白为什么我只看到4个,却得到17个。我甚至试着计算我认为文本可能出现的位置,但我仍然没有得到那个数字,除非是输出的长度。这导致我不知道如何获取所有Tag3的属性名Java 获取的子节点太多,无法获取属性,java,xml,parsing,Java,Xml,Parsing,我有一个简单的XML,我想得到属性。网上有一些例子,但我仍然不明白为什么我只看到4个,却得到17个。我甚至试着计算我认为文本可能出现的位置,但我仍然没有得到那个数字,除非是输出的长度。这导致我不知道如何获取所有Tag3的属性名 <?xml version="1.0" encoding="UTF-8"?> <tag1 xmlns="something"> <xxxxxx-Set> <tag3 Name="a"/>
<?xml version="1.0" encoding="UTF-8"?>
<tag1 xmlns="something">
<xxxxxx-Set>
<tag3 Name="a"/>
<tag3 Name="b"/>
<tag3 Name="c"/>
<tag3 Name="d"/>
</xxxxxx-Set>
<tagB>
<tag3 Name="a"/>
<tag3 Name="b"/>
<tag3 Name="c"/>
<tag3 Name="d"/>
</tagB>
</tag1>
如果您想使用所有
名称
属性(最好用小写字母命名),请使用下一种方法:
Element xSet = (Element) doc.getElementsByTagName("xxxxxx-Set").item(0);
NodeList xSetTags = xSet.getElementsByTagName("tag3");
for(int i = 0; i < xSetTags.getLength(); i++) {
Element tag3 = (Element) xSetTags.item(i);
System.out.println(tag3.getAttribute("Name"));
}
Element xSet=(Element)doc.getElementsByTagName(“xxxxxx-Set”)。项(0);
NodeList xSetTags=xSet.getElementsByTagName(“tag3”);
对于(int i=0;i
我使用
org.w3c.dom.Element
类创建了它。使用它不是最好的方法,因为这个类不仅表示xml元素,还表示属性、注释和其他元素。查看文档以了解节点
和元素
类之间的区别。为什么xml中有这么多“”?替换系统.out.println(tagAs)
toSystem.out.println(tagAs.item(i).getNodeName())
并找出一些关于Xml中节点的有趣信息。很抱歉,这些额外信息是一个错误。或额外的项目之前。我已经看到了关于文本元素的内容,我想这就是这里的内容。有没有办法绕过它,或者只是打印一些奇怪的?有没有办法绕过文本标记,原因是我没有得到所有的tag3,但首先我得到了xxxxxx-SET,因为我以后在文档上使用了tag3,我不想在这里得到它。
[xxxxxx-Set: null]
0
[xxxxxx-Set: null]
1
...
[xxxxxx-Set: null]
16
Element xSet = (Element) doc.getElementsByTagName("xxxxxx-Set").item(0);
NodeList xSetTags = xSet.getElementsByTagName("tag3");
for(int i = 0; i < xSetTags.getLength(); i++) {
Element tag3 = (Element) xSetTags.item(i);
System.out.println(tag3.getAttribute("Name"));
}