Java 从XML元素读取属性
我试图使用下面发布的Java代码显示“x”的值,但它什么也不显示。请让我知道我的错误在哪里: Java代码:Java 从XML元素读取属性,java,xml,xml-parsing,Java,Xml,Xml Parsing,我试图使用下面发布的Java代码显示“x”的值,但它什么也不显示。请让我知道我的错误在哪里: Java代码: for (int temp = 0; temp < nList.getLength(); temp++) { Node nNode = nList.item(temp); System.out.println("\nCurrent Element :" + nNode.getNodeName()); System.out.println("\n"+nList.getLe
for (int temp = 0; temp < nList.getLength(); temp++) {
Node nNode = nList.item(temp);
System.out.println("\nCurrent Element :" + nNode.getNodeName());
System.out.println("\n"+nList.getLength());
if (nNode.getNodeType() == Node.ELEMENT_NODE) {
Element eElement = (Element) nNode;
if(eElement.getAttribute("place") != null){
System.out.println("x: " + eElement.getElementsByTagName("place").item(0).getTextContent());
}
}
}
for(int-temp=0;temp
XML文件:
就我对XML的理解而言,“place”不是一个属性
if (nNode.getNodeType() == Node.ELEMENT_NODE) {
Element eElement = (Element) nNode;
if ("place".equalsIgnoreCase(eElement.getTagName())){
System.out.println("x: " + eElement.getAttribute("x"));
}
}
就我对XML的理解而言,“place”不是一个属性
if (nNode.getNodeType() == Node.ELEMENT_NODE) {
Element eElement = (Element) nNode;
if ("place".equalsIgnoreCase(eElement.getTagName())){
System.out.println("x: " + eElement.getAttribute("x"));
}
}
查看您的代码,我认为
nList
是通过调用:
NodeList nList = someDocument.getElementsByTagName("group");
因此,您需要调整循环结构,再加上按名称搜索,而不是查找属性:
for (int i = 0; i < nList.getLength(); i++) {
Node groupNode = nList.item(i);
NodeList placeList = groupNode.getChildNodes();
for (int j = 0; j < placeList.getLength(); j++) {
Node placeNode = placeList.item(j);
if (placeNode instanceof Element) {
Element element = (Element) placeNode;
if ("place".equalsIgnoreCase(element.getTagName())) {
System.out.println("x: " + element.getAttribute("x"));
}
}
}
}
for(int i=0;i
查看您的代码,我认为nList
是通过调用以下命令获得的:
NodeList nList = someDocument.getElementsByTagName("group");
因此,您需要调整循环结构,再加上按名称搜索,而不是查找属性:
for (int i = 0; i < nList.getLength(); i++) {
Node groupNode = nList.item(i);
NodeList placeList = groupNode.getChildNodes();
for (int j = 0; j < placeList.getLength(); j++) {
Node placeNode = placeList.item(j);
if (placeNode instanceof Element) {
Element element = (Element) placeNode;
if ("place".equalsIgnoreCase(element.getTagName())) {
System.out.println("x: " + element.getAttribute("x"));
}
}
}
}
for(int i=0;i
你试过调试它吗?你试过调试它吗?这个。唯一的属性是x、y、class和id。唯一的属性是x、y、class和id。