0

xml ファイルからデータを動的に読み取る必要があります。データを読み取り、行の形式で保存するために 70 個のタグ名がありました。上記のコードを見ると、必要に応じてデータを読み取ることができますが、getTagValue( , ) を使用してすべてのタグ名を手動で書き込むにはどうすればよいですか? getTagValue( , )にデータを動的に取得するにはどうすればよいですか? 上記のリンクで試したコードを投稿しました

public class ParseXML {

    public static void main(String argv[]) {

      try {

        File fXmlFile = new File("data/Hotel.xml");
        DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
        DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
        Document doc = dBuilder.parse(fXmlFile);
        doc.getDocumentElement().normalize();

        System.out.println(doc.getDocumentElement().getNodeName());
        NodeList nList = doc.getElementsByTagName("staff");
        System.out.println("-----------------------");

        for (int i = 0; i < nList.getLength(); i++) {

           Node nNode = nList.item(i);
           if (nNode.getNodeType() == Node.ELEMENT_NODE) {

              Element eElement = (Element) nNode;

              String firstname=getTagValue("firstname", eElement);
              String lastName=getTagValue("lastname", eElement);
             String nickname=getTagValue("nickname", eElement);
             String salary=getTagValue("salary", eElement);
             System.out.println(firstname+" ," + lastName+" ," + nickname+" ," + salary);
           }
        }
      } catch (Exception e) {
        e.printStackTrace();
      }
  }

  private static String getTagValue(String sTag, Element eElement) {
    NodeList nlList = eElement.getElementsByTagName(sTag).item(0).getChildNodes();

        Node nValue = (Node) nlList.item(0);

    return nValue.getNodeValue();
  }

}

Dom パーサーで XML データを変更する方法

4

1 に答える 1

0

getTagValue(String sTag, Element eElement) "stag"手動で宣言する代わりに、タグ名"firstName","lastName","nickName","Salary"を動的にプライベート静的文字列に生成する方法はありますか?

String firstname=getTagValue("firstname", eElement);           
String lastName=getTagValue("lastname", eElement);             
String nickname=getTagValue("nickname", eElement);              
String salary=getTagValue("salary", eElement); 

私が4つのタグ名を宣言したのを聞いてください。150のタグ名がある場合、150のタグ名を手動で記述するのは本当に難しいコードです。動的に「スタッグ」を生成する方法はありますか

于 2012-08-02T11:06:43.583 に答える