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

Это мой XML. Мне нужен код страны "US". Я использую XML dom4j и следую его руководству.

Вот мой фрагмент кода

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

Когда я пытался, как указано выше, он печатал null. Могу ли я узнать, где я ошибаюсь?

1
Rajesh M 13 Мар 2018 в 04:41

2 ответа

Лучший ответ

Вы можете попробовать получить значение атрибута для кода страны, используя приведенный ниже код.

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);
                        }
2
Nisha Raghu 13 Мар 2018 в 02:39

Попробуйте этот код

List<Node> list1 = e.selectNodes("//*[name() = 'Address']");
     for(Node n: list1)      
      {     
      System.out.println("CC"+n.selectSingleNode("Country").valueOf("@isoCountryCode"));
      }
1
spdev 13 Мар 2018 в 02:11