Javaで簡単なXMLパーサーを書いていますが、
プロパティ ファイルから XML タグ名を読み取る方法を教えてください。例:次のような XML ファイルがある場合
<parent>
<child>1</child>
<child2>2</child2>
</parent>
構成ファイルからタグ名を読み取りたい。ここに私が現在取り組んでいるコードがあり、データを読み取るために test.xml ファイルを使用しています。
public class xml2
{
public void xmlR(File f)
{
try
{
FileInputStream IF=new FileInputStream(f);
DataInputStream data=new DataInputStream(IF);
BufferedReader buf=new BufferedReader(new InputStreamReader(data));
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(f);
doc.getDocumentElement().normalize();
NodeList nList = doc.getElementsByTagName("test");
File file=new File("xml.txt");
BufferedWriter writer = new BufferedWriter(new FileWriter(file));
for (int temp = 0; temp < nList.getLength(); temp++)
{
Node nNode = nList.item(temp);
if (nNode.getNodeType() == Node.ELEMENT_NODE)
{
Element eElement = (Element) nNode;
writer.write("ID : " + getTag("id", eElement));
writer.newLine();
writer.write("Name : " + getTag("Name", eElement));
writer.newLine();
writer.write("AGE: " + getTag("age", eElement));
writer.newLine();
writer.flush();
writer.write("-----------------------");writer.newLine();
}
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
private static String getTag(String sTag, Element eElement)
{
NodeList nlList = eElement.getElementsByTagName(sTag).item(0).getChildNodes();
Node nValue = (Node) nlList.item(0);
return nValue.getNodeValue();
}
public static void main(String args[])
{
xml2 x=new xml2();
x.xmlR(new File("test.xml"));
}
}