0
這裏是一個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"/>
<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>
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());
}
}
}
我試圖解析其位於內部三角形節點的輸入和P,但是,我有一個問題。 問題是當我在上面提到的代碼中將索引指定爲1時,所有子節點都被檢測到並被解析。除1之外,它甚至不檢測子節點輸入和p。可能是什麼問題?請幫我解決這個問題。
你用什麼XML API來編寫代碼?編輯:想通了,簡單的DOM解析器。 'mesh'是'NodeList'的一個實例。 – 2012-07-27 07:57:43
是的,我用過簡單的DOM解析器。 – Vinay 2012-07-27 08:08:24