当前位置: 首页 > 面试题库 >

用Java解析高级XML

燕璞
2023-03-14
问题内容

嗨,我想解析看起来像这样的非常奇怪的xml:

<foo>
    <foo1>
        <foo2></foo2>
        <foo2></foo2>
        <foo2></foo2>
        <foo2></foo2>
        <foo2></foo2>
        <foo2></foo2>
        <foo2></foo2>
    </foo1>
</foo>

<foo>
    <foo1>
        <foo2></foo2>
        <foo2></foo2>
        <foo2></foo2>
        <foo2></foo2>
        <foo2></foo2>
        <foo2></foo2>
        <foo2></foo2>
    </foo1>
</foo>

使用本教程时,无法从foo2获取值:

http://javarevisited.blogspot.com/2011/12/parse-xml-file-in-java-example-
tutorial.html

但是,如果我们有相同的参数,例如 foo2


问题答案:

//规范化您的XML,然后Document通过该XML 创建一个,然后遵循以下代码

NodeList nList = doc.getElementsByTagName("foo");
        for (int temp = 0; temp < nList.getLength(); temp++) { // loop for foo
            Node nodeTable = nList.item(temp);
            Element xmlFoo = (Element) nodeTable;
            if (nodeTable.getNodeType() == Node.ELEMENT_NODE) {
            NodeList nodeListFoo1 = xmlFoo.getElementsByTagName("foo1");
            for (int i = 0; i < nodeListFoo1.getLength(); i++) { // loop for foo1
                Node nodefoo2 = nodeListFoo1.item(i);
                Element elementfoo1 = (Element) nodefoo2;
                // Collect foo2 
                NodeList nodeListfoo2Name = elementfoo1.getElementsByTagName("foo2");
                for (int j = 0; j < nodeListfoo2Name.getLength(); j++) { //// loop for foo2
                    Node nodefoo2Name = nodeListfoo2Name.item(j);
                    Element elementfoo2Name = (Element) nodefoo2Name;
                    //TODO: write code here, what you want to collect from foo2
                    }
                }
            }
        }


 类似资料:
  • 问题内容: 我想从Java的PDF文件中提取不同的内容: 完整的可见文字 图片 链接 还可以得到以下内容吗? 文档元标记,例如标题,描述或作者 仅标题 输入元素(如果文档包含表单) 我不需要操纵或渲染PDF文件。哪种库最适合这种目的? 更新 OK,我尝试了PDFBox: 但是输出为空。字段“摘要”是可以的。 下一个片段可以正常工作。 但是然后,我不知道如何提取图像,链接等。 更新2 我找到了一个如

  • 本章主要介绍诸葛io的高级分析功能,包括: 广告监测 搜索关键词广告(SEM) 产品版本分析 网页端获取分析 APP获取分析 行为路径 用户粘性分析 SQL查询 跨平台分析 我们在官网Demo中开放了所有付费功能的试用体验,如您想了解更多内容,可以通过在线客服或客服电话与我们取得联系:40080-94843

  • 本文向大家介绍深入理解Java高级特性——注解,包括了深入理解Java高级特性——注解的使用技巧和注意事项,需要的朋友参考一下 博主在初学注解的时候看到网上的介绍大部分都是直接介绍用法或者功能,没有实际的应用场景,篇幅又很长导致学习的时候难以理解其意图,而且学完就忘QAQ。本篇文章中我将结合实际的应用场景尽可能由浅入深,平缓的介绍java注解。 java注解是jdk1.5以后新出的特性,对于它的应

  • 本文向大家介绍详解javascript replace高级用法,包括了详解javascript replace高级用法的使用技巧和注意事项,需要的朋友参考一下 在前端与后台交互的时候我们通常都需要将后台传递的数据绑定到html中,这个绑定数据的方式我们通常是使用jQuery或者使用原生的innerHTML进行绑定,当然也可以使用artTemplate模板来绑定数据,那么artTemplate模板它

  • 本文向大家介绍Python中的迭代器与生成器高级用法解析,包括了Python中的迭代器与生成器高级用法解析的使用技巧和注意事项,需要的朋友参考一下 迭代器 迭代器是依附于迭代协议的对象——基本意味它有一个next方法(method),当调用时,返回序列中的下一个项目。当无项目可返回时,引发(raise)StopIteration异常。 迭代对象允许一次循环。它保留单次迭代的状态(位置),或从另一个

  • 动态路由 跳转前确认 服务端渲染 模块生命周期 组件外部跳转