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のターゲットを抽出する必要があります。もちろん、私ははるかに多くを抽出する必要がありますが、実際にどのように使用するのか分かりません。これが始める場所です。
私はこれまでのところ、このコードを持っている:
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");
これは、ウェブ上のほとんどの例のように思えるが、この1のようになります。http://www.easywayserver.com/blog/java-how-to-read-xml-file/
私は私が抽出したいときに何をすべきかを考え出す助けが必要XMLファイルの読み込み/解析に関する優れたチュートリアルを見つけることができます。
XMLがそれほど大きくない場合は、 'javax.xml.xpath'を使用し、それ以外の場合はSAXイベントをフィルタリングします。 – khachik
またはXMLBeans、またはJAXB ... – bmargulies
次をご覧ください:http://www.saxproject.org/quickstart.html – krico