java - 从 XML 元素读取属性

标签 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.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());    
    }
  }
}

XML 文件:

<?xml version="1.0" encoding="UTF-8"?>
<document>  
<group id="Fontanestra">
<place  x="4222873.962227057"   y="2902240.7064015563"  class="hdlamp lamp651   
Fontanestra"/>
<place  x="4222675.856667058"   y="2902341.1436763224"  class="hdlamp lamp745 
Fontanestra"/>
<place  x="4222761.571650493"   y="2902285.145924819"   class="hdlamp lamp871 
Fontanestra"/>
<place  x="4222703.30618614"    y="2902320.7303823503"  class="hdlamp lamp972 
Fontanestra"/>
<place  x="4222802.65477977"    y="2902265.5807657656"  class="hdlamp lamp1084 
Fontanestra"/>
<place  x="4222935.246730494"   y="2902220.7360558496"  class="hdlamp lamp1110  
Fontanestra"/>
<place  x="4222734.639113373"   y="2902300.2547685634"  class="hdlamp lamp1215 
Fontanestra"/>
<place  x="4222837.368032"      y="2902252.747460649"   class="hdlamp  
lamp1225 Fontanestra"/>
<place  x="4222904.859771981"   y="2902230.8135758354"  class="hdlamp lamp1336  
Fontanestra"/>

</group>        
</document>

最佳答案

  if(eElement.getAttribute("place") != null){

据我了解 XML,“地点”不是一个属性

if (nNode.getNodeType() == Node.ELEMENT_NODE) {
   Element eElement = (Element) nNode;
   if ("place".equalsIgnoreCase(eElement.getTagName())){
      System.out.println("x: " +     eElement.getAttribute("x"));    
   }
}

关于java - 从 XML 元素读取属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16188132/

相关文章:

java - 有人可以向我解释 java 中的 .getClass() 方法吗

java - 如果有多行可用,如何通过列标题区分行名称

android - 如何在 activity(dot)xml 中包装 android 代码

ios - 当我回来时,TableView 显示相同的数据两次或更多次?

ios - Cocos2d游戏中如何有效保存用户设置

xml - Perl XML::LibXML 与 SOAP::SOM

java - 如果元素未出现在 selenium webdriver java 中,如何重新加载页面

java - WebDriver 过滤元素列表

php - 从 PHP/MySQL 查询创建 XML 时出现编码错误

javascript - 使用 javascript 创建一个新的空文档