Java 未检测到子节点
以下是一个XML:Java 未检测到子节点,java,xml,parsing,Java,Xml,Parsing,以下是一个XML: <mesh> <triangles material="face" count="990"> <input semantic="VERTEX" source="#boyShape-skin-vertices" offset="0"/> <input semantic="NORMAL" source="#boyShape-skin-normals" offset="1"/>
<mesh>
<triangles material="face" count="990">
<input semantic="VERTEX" source="#boyShape-skin-vertices" offset="0"/>
<input semantic="NORMAL" source="#boyShape-skin-normals" offset="1"/>
<input semantic="TEXCOORD" source="#boyShape-skin-map-channel1" offset="2" set="1"/>
<p>45 56 44 61 57 45 58 58 46 58 58 46 65 59 47 45 56 44 46 60 48 67 61 49 58 58 46 58 58 46 61 57 45 46 60 48 49 62 50 66 63 51 </p>
</triangles>
<triangles material="face" count="1320">
<input semantic="VERTEX" source="#boyShape-skin-vertices" offset="0"/>
<input semantic="NORMAL" source="#boyShape-skin-normals" offset="1"/>
<input semantic="TEXCOORD" source="#boyShape-skin-map-channel1" offset="2" set="1"/>
<p>45 46 60 48 49 62 50 66 63 51 45 56 44 61 57 45 58 58 46 58 58 46 65 59 47 45 56 44 46 60 48 67 61 49 58 58 46 58 58 46 61 57 45 46 60 48 49 62 50 66 63 51 </p>
</triangles>
<triangles material="face" count="1540">
<input semantic="VERTEX" source="#boyShape-skin-vertices" offset="0"/>
<input semantic="NORMAL" source="#boyShape-skin-normals" offset="1"/>
<input semantic="TEXCOORD" source="#boyShape-skin-map-channel1" offset="2" set="1"/>
<p>58 46 58 58 46 65 59 47 45 56 44 61 57 45 58 58 46 58 58 46 65 59 47 45 56 44 46 60 48 67 61 49 58 58 46 58 58 46 61 57 45 46 60 48 49 62 50 66 63 51 </p>
</triangles>
</mesh>
45 56 44 61 57 45 58 46 58 46 46 65 59 47 56 44 46 60 48 67 61 49 58 46 58 46 58 46 61 57 46 60 48 49 62 50 66 63 51
45 46 60 48 49 62 50 66 63 51 45 56 44 61 57 58 58 58 46 65 59 47 45 56 44 46 60 67 61 49 58 58 46 58 46 58 46 61 57 45 46 48 49 49 49 62 50 66 63 51
58 46 58 46 65 59 47 45 56 44 61 57 45 58 46 58 46 65 59 47 45 56 44 46 60 48 67 61 49 58 46 58 46 58 46 61 57 46 60 48 62 50 66 63 51
Java代码是
for(int s=0; s<mesh.getLength() ; s++){
Node firstPersonNode = mesh.item(s);
System.out.println(mesh.item(s).getNodeName() + " Test");
if(firstPersonNode.getNodeType() == Node.ELEMENT_NODE){
Element firstPersonElement = (Element)firstPersonNode;
NodeList source = firstPersonElement.getElementsByTagName("triangles");
System.out.println(source.getLength() + "Source Length");
Node firstsource = source.item(1); // triangles index given here
if(firstsource.getNodeType() == Node.ELEMENT_NODE){
Element firstPersonElement1 = (Element)firstsource;
System.out.println(firstPersonElement1.getAttribute("id") + " --> <-- ");
NodeList floatarray = firstPersonElement1.getElementsByTagName("p");
Element firstNameElement = (Element)floatarray.item(0);
NodeList textFNList = firstNameElement.getChildNodes();
System.out.println("Vertexes : " + ((Node)textFNList.item(0)).getNodeValue().trim());
}
}
}
for(int s=0;s以下是使用DOM API解析文档的方法:
NodeList triangles = document.getElementsByTagName("triangles");
System.out.println("triangles: " + triangles.getLength());
for (int i = 0; i < triangles.getLength(); i++) {
Element triangle = (Element) triangles.item(i);
System.out.println("triangle: material=" + triangle.getAttribute("material") + " count=" + triangle.getAttribute("count"));
NodeList inputs = triangle.getElementsByTagName("input");
for (int j = 0; j < triangles.getLength(); j++) {
Element input = (Element) inputs.item(j);
System.out.println(" input: semantic=" + input.getAttribute("semantic"));
}
Element vertices = (Element) triangle.getElementsByTagName("p").item(0);
System.out.println(" vertices: " + vertices.getTextContent().trim());
}
NodeList triangles=document.getElementsByTagName(“triangles”);
System.out.println(“三角形:“+triangles.getLength());
对于(int i=0;i
您使用什么XML API编写代码?编辑:找到它,普通DOM解析器。mesh
是NodeList的一个实例
是的,我使用过普通DOM解析器。