1

以下のコードを使用してxmlを解析しようとしています。解析して値を読み取ることができます。ただし、ノード「INFO」を読み取るようにコードを変更する方法がわかりません。そのノードをエスケープして、PARAMを直接使用しています。以下のように:

XML

<?xml version="1.0" encoding="UTF-8"?>
<myxml>
  <id>23343</id>
  <INFO>
    <PARAM>
      <PARAM_NAME>data</PARAM_NAME>
      <PARAM_VALUE>345</PARAM_VALUE>
    </PARAM>
    <PARAM>
      <PARAM_NAME>CdataID</PARAM_NAME>
      <PARAM_VALUE>6788</PARAM_VALUE>
    </PARAM>
  </INFO>
</myxml>

Javaコードは次のとおりです。

      DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
      DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
      Document doc = dBuilder.parse(fXmlFile);
      doc.getDocumentElement().normalize();

      NodeList nList = doc.getElementsByTagName("PARAM");

      for (int temp = 0; temp < nList.getLength(); temp++) {
        Node nNode = nList.item(temp);
        if (nNode.getNodeType() == Node.ELEMENT_NODE) {
          Element eElement = (Element) nNode;
          if (getTagValue("PARAM_NAME",eElement).equals("data")) {
            String type = getTagValue("PARAM_VALUE", eElement);
          } 
        }
      }
    } 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();
  }
}

INFOノードを追加したいのですが、上記のコードを変更するにはどうすればよいですか?

4

0 に答える 0