cai772088996 2016-01-17 12:20 采纳率: 100%
浏览 1521
已采纳

初学JAVA-XML遇到的问题,求指教

题目:获得下图xml文件中第二个linkname中的name的内容,也就是“小李”

图片说明

图片说明

贴代码:


小蔡
772088996@qq.com
成都
源代码教育

<linkman id="2">
    <name>小李</name>
    <email>497458450@qq.com</email>
    <address>昆明</address>
    <group>寰宇旅遊</group>
</linkman>

再贴:

public class GetNameTest {
@Test
public void getnametest() throws Exception {
//1,取得XML的document对象
File file = new File("D:/workspace2/1-16-xml/src/cn/itsource/xml/condacts.xml");
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse(file);

    //2,取得xml的根元素
    Element rootEle = doc.getDocumentElement();

    //3,拿到目标name所在的第二个linkman
    NodeList linkManList = rootEle.getElementsByTagName("linkname");
    //上一句拿到的是所有linkman集合,遍历出所有linkman
    for(int i = 0;i<linkManList.getLength();i++){
        Node linkManNode = linkManList.item(i);
    }
    //拿到第二个linkman,并强转成元素对象
    Element linkManEle = (Element) linkManList.item(1);

    //4,拿到linkman中的name元素
    NodeList nameList = linkManEle.getElementsByTagName("name");
    //上一句返回值虽然还是个集合,但是name就一个,因此不用遍历了,直接取
    Node getname = nameList.item(0);
    //拿到name中的文本元素
    System.out.println(getname.getTextContent());
}

}

  • 写回答

3条回答 默认 最新

  • 毕小宝 博客专家认证 2016-01-17 12:53
    关注

    为什么不贴代码呢?贴代码还可以帮忙测一下,这个图让回答者敲代码是很纠结的事情呢。把代码贴出来呗,我有空帮你测测问题。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器