java - XML 到哈希表

标签 java xml hashtable rft

目前我有下面的代码将数据放入哈希中。 我的问题:我必须在 !!!SOMETHING!!! 部分放入哪个值。 该代码只需读取一个元素标签并将其值插入到哈希表中。

public void ReadXML(){
    try {

        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        DocumentBuilder builder = factory.newDocumentBuilder();
        Document doc = builder.parse(fileout);
        doc.getDocumentElement().normalize();
        Hashtable hash = new Hashtable();

        NodeList dataNodes = doc.getElementsByTagName("DataArea");
//      getChildNodes().item(0).getChildNodes();
        Element root = doc.getDocumentElement();
        String dataNodeIndex = root.toString();
        System.out.println("");

    for (int dataNodeIndex1 = 0; dataNodeIndex1 < dataNodes.getLength(); dataNodeIndex1++)
        {
            Node nodeName = dataNodes.item(dataNodeIndex1);

            if (nodeName.getNodeType() == Node.ELEMENT_NODE) {
                Element elementName = (Element) nodeName;
                NodeList elementNameList = elementName.getElementsByTagName(elementtag1);
                Element elementName2 = (Element) elementNameList.item(0);
                NodeList nameElement = elementName2.getChildNodes();
                System.out.println("NodeContent: "  + ((Node) nameElement.item(0)).getNodeValue());

            }
            hash.put(elementtag1, !!!SOMETHING!!!);

            System.out.println(hash);
        }       


    }



    catch(Exception e){ 
        e.printStackTrace();
    }


}

最佳答案

你应该使用我发现的这些方法:

protected String getString(String tagName, Element element) {
    NodeList list = element.getElementsByTagName(tagName);
    if (list != null && list.getLength() > 0) {
        NodeList subList = list.item(0).getChildNodes();

        if (subList != null && subList.getLength() > 0) {
            return subList.item(0).getNodeValue();
        }
    }

    return null;
}

像这样使用它:

if (NodeName.getNodeType() == Node.ELEMENT_NODE) {
    Element ElementName = (Element) NodeName;
    Hash.put(Elementtag1, getString(Elementtag1, ElementName));

}

检查一下:

http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/

How to retrieve element value of XML using Java?

关于java - XML 到哈希表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5991800/

相关文章:

java - 如何在 Java Swing 应用程序中播放 MP4 视频

java - 使用 org.json 解析 JSON

c# - 如何使用 C# 从 XML 中删除重复属性

c - 在 C 中编译哈希表实现时出错

java - 如何在没有国家代码的情况下获得电话联系?

java - 从深度递归父子关系构建 JSON

找不到 Java SAXParserFactory 和 XMLParserConfiguration 文件

android - 匹配父约束布局不匹配

c# - 二进制搜索和哈希表搜索

data-structures - 二叉搜索树相对于哈希表的优点