Java 在xml文件中,如何根据同一级别节点中的另一个标签获取标签中的数据?

Java 在xml文件中,如何根据同一级别节点中的另一个标签获取标签中的数据?,java,xml,Java,Xml,我有一个如下所示的xml文件: <root> <doc> <str name="name">test1</str> <str name="uri">test1.com</str> </doc> <doc> <str name="name">test2</str> <str name="uri">test1.com</str> </d

我有一个如下所示的xml文件:

<root>
<doc>
  <str name="name">test1</str>
  <str name="uri">test1.com</str>
</doc>
<doc>
  <str name="name">test2</str>
  <str name="uri">test1.com</str>
</doc>
 </root>
for(Element doc : docs ){
   List<Element> strs = doc.elements();
   for(Element str : strs ){
      if("name".equals(str.attributeValue("name"))){
         System.out.println(str.getText());  
      }
      if("uri".equals(str.attributeValue("name"))){
         System.out.println(str.getText());  
      }
   }
}

测试1
test1.com
测试2
test1.com
我想解析这个文件。我可以用dom4j得到这个名字

for(Element doc : docs ){
          List<Element> strs = doc.elements();
          for(Element str : strs ){
              if("name".equals(str.attributeValue("name"))){
                 System.out.println(str.getText());  
                    }
                }
            }
for(要素单据:单据){
列表strs=doc.elements();
用于(元素str:strs){
if(“name”).equals(str.attributeValue(“name”)){
System.out.println(str.getText());
}
}
}
在获取同一节点“doc”下的“name”数据后,如何获取“uri”数据


太多了

以下内容还不够:

<root>
<doc>
  <str name="name">test1</str>
  <str name="uri">test1.com</str>
</doc>
<doc>
  <str name="name">test2</str>
  <str name="uri">test1.com</str>
</doc>
 </root>
for(Element doc : docs ){
   List<Element> strs = doc.elements();
   for(Element str : strs ){
      if("name".equals(str.attributeValue("name"))){
         System.out.println(str.getText());  
      }
      if("uri".equals(str.attributeValue("name"))){
         System.out.println(str.getText());  
      }
   }
}
for(要素单据:单据){
列表strs=doc.elements();
用于(元素str:strs){
if(“name”).equals(str.attributeValue(“name”)){
System.out.println(str.getText());
}
if(“uri”.equals(str.attributeValue(“name”)){
System.out.println(str.getText());
}
}
}
当您在“doc”的子元素中循环时(元素doc:docs){ 列表strs=doc.elements(); 用于(元素str:strs){ 字符串名称=”; 字符串uri=“” if(“name”).equals(str.attributeValue(“name”)){ name=str.getText(); } if(“uri”.equals(str.attributeValue(“name”)){ uri=str.getText(); } } System.out.println(“name:+name+”uri:+uri); }
首先获取所有文档节点。然后遍历这些节点并获取每个文档节点的子节点