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 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog