【发布时间】:2011-05-13 12:26:28
【问题描述】:
目前我有下面的代码将数据放入哈希中。 我的问题:我必须在 !!!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();
}
}
【问题讨论】:
-
您可以使用
null,但如果您的表不存储键值对,您最好使用HashSet。 Edit 抱歉,null不能作为Hashtable的值。使用您不关心的任何对象,这不会造成严重的内存泄漏。 -
如果我想全部复制,我可以自己拆开。但我只需要一个很好的例子就知道该怎么做。我看到了一个有关帐户信息和交易的示例,但它对我没有帮助,因为我没有添加任何内容。
-
这段代码搞砸了。
ElementTag1是什么?在 java 变量中,永远不要以大写字母开头。你的错误现在欺骗了 stackoverflow 的语法高亮。 -
ElementTag1 是我放入的全局变量,在代码中它仍然接受标签。它指的是我定义的 xmltag 名称。