「已注销」 2018-03-16 03:23 采纳率: 0%
浏览 1540
已结题

如图,如何取出selectNodes返回的List这种底层节点value,我取的都是一样的值

import org.dom4j.*;

import java.util.*;

public class Test {
public static void main(String[] args) throws DocumentException {
String xml = "<?xml version=\"1.0\" encoding=\"utf-8\"?>123,222,233310001dianzi2018-03-18 08:20:002018-09-04 08:20:00diaodannomingcheng端口id1预期收发功率1端口id2预期收发功率2端口id3预期收发功率3端口id4预期收发功率4端口id5预期收发功率5端口id6预期收发功率6\n";
Document doc = DocumentHelper.parseText(xml.trim());
/**
*
*
*
*/
List> lst = new ArrayList<>();
Map map = new HashMap<>();
StringBuffer sb = new StringBuffer("");
int size = doc.selectNodes("//receivePower").size();
System.out.println(size);
if(size>0){
List receivePowerNodes = doc.selectNodes("//receivePower");
Node node = receivePowerNodes.get(0);
System.out.println(node.selectSingleNode("//aPortId").getText());
Node node1 = receivePowerNodes.get(1);
System.out.println(node.selectSingleNode("//aPortId").getText());
Node node2 = receivePowerNodes.get(2);
System.out.println(node.selectSingleNode("//aPortId").getText());

        for (Node e : receivePowerNodes) {

            sb.append(e.asXML());
        }
    }
    sb.append("</receivePowerList>");
    System.out.println(sb.toString());

}}
图片说明

  • 写回答

1条回答 默认 最新

  • 奔腾的野马 2018-03-16 04:24
    关注

    Node node1 = receivePowerNodes.get(1);
    System.out.println(node.selectSingleNode("//aPortId").getText());
    Node node2 = receivePowerNodes.get(2);
    System.out.println(node.selectSingleNode("//aPortId").getText());
    你说的是这两个输出语句吗?如果是,应该是这样:
    System.out.println(node1.selectSingleNode("//aPortId").getText());

    System.out.println(node2.selectSingleNode("//aPortId").getText());

    评论

报告相同问题?

悬赏问题

  • ¥15 shape_predictor_68_face_landmarks.dat
  • ¥15 slam rangenet++配置
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题