Java에서 XML 파일을 읽는 방법에 대한 수많은 예제를 보았습니다. 그러나 그들은 단순한 XML 파일만을 보여줍니다. 예를 들어 XML 파일에서 이름과 성을 추출하는 방법을 보여줍니다. 그러나 collada XML 파일에서 데이터를 추출해야합니다. 이와 같이 :Java에서 고급 XML 파일을 구문 분석하는 방법
<library_visual_scenes>
<visual_scene id="ID1">
<node name="SketchUp">
<instance_geometry url="#ID2">
<bind_material>
<technique_common>
<instance_material symbol="Material2" target="#ID3">
<bind_vertex_input semantic="UVSET0" input_semantic="TEXCOORD" input_set="0" />
</instance_material>
</technique_common>
</bind_material>
</instance_geometry>
</node>
</visual_scene>
</library_visual_scenes>
이것은 콜라다 파일의 일부에 지나지 않습니다. 여기서 visual_scene의 id를 추출한 다음 instance_geometry의 url과 instance_material의 target을 추출해야합니다. 물론 나는 훨씬 더 많은 것을 추출해야하지만, 실제로 사용하는 방법을 이해하지 못하고 이것은 시작할 곳입니다.
지금까지이 코드를 가지고 : 내가 추출 할 때 무엇을 알아내는 데 도움이 필요 http://www.easywayserver.com/blog/java-how-to-read-xml-file/
:
그것은 웹에있는 대부분의 예처럼 보인다DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = null;
try {
builder = factory.newDocumentBuilder();
}
catch(ParserConfigurationException error) {
Log.e("Collada", error.getMessage()); return;
}
Document document = null;
try {
document = builder.parse(string);
}
catch(IOException error) {
Log.e("Collada", error.getMessage()); return;
}
catch(SAXException error) {
Log.e("Collada", error.getMessage()); return;
}
NodeList library_visual_scenes = document.getElementsByTagName("library_visual_scenes");
이 하나와 유사한를 더 깊은 태그 또는 XML 파일 읽기/파싱에 대한 좋은 자습서를 찾으십시오.
XML이 매우 크지 않은 경우'javax.xml.xpath'를 사용하고 SAX 이벤트는 그렇지 않은 경우를 필터링합니다. – khachik
또는 XMLBeans 또는 JAXB ... – bmargulies
다음을보십시오 : http://www.saxproject.org/quickstart.html – krico