在 java 中获取 dom4j 中的属性值

get the attribute value in dom4j in java

                  <Address>
                <Street>33 S 3rd st</Street><Street/><Street/><Street/>     
                 <PostalCode>95130</PostalCode>
                 <Country isoCountryCode= "US" >United 
                  States</Country>
                    </Address>

这是我的 XML.I 需要国家代码 "US"。我正在使用 XML dom4j 并遵循其教程。

这是我的代码片段

     List<Node> list1 = e.selectNodes("//*[name() = 'Address']");
     for(Node n: list1)      
      {     
      System.out.println("CC"+n.valueOf("@isoCountryCode"));
      }

当我像上面那样尝试时它正在打印null.Can我知道我哪里错了吗?

试试这个代码

List<Node> list1 = e.selectNodes("//*[name() = 'Address']");
     for(Node n: list1)      
      {     
      System.out.println("CC"+n.selectSingleNode("Country").valueOf("@isoCountryCode"));
      }

您可以尝试使用以下代码检索国家代码的属性值。

List<Node> list2 = e.selectNodes("//*[name() = 'Country']");
                        for(Node n1: list2)
                        {
                            Element element2 = (Element) n1;
                            String a1 = element2.attributeValue("isoCountryCode");
                            System.out.println("CC"+a1);
                        }