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

如何使用Java检索XML的元素值?

琴元凯
2023-03-14
问题内容

我是XML的新手。我想根据请求名称阅读以下XML。请帮助我了解如何以Java读取以下XML

<?xml version="1.0"?>
    <config>
        <Request name="ValidateEmailRequest">
            <requestqueue>emailrequest</requestqueue>
            <responsequeue>emailresponse</responsequeue>
        </Request>
        <Request name="CleanEmail">
            <requestqueue>Cleanrequest</requestqueue>
            <responsequeue>Cleanresponse</responsequeue>
        </Request>
    </config>

问题答案:

如果你的XML是字符串,则可以执行以下操作:

String xml = ""; //Populated XML String....

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.parse(new InputSource(new StringReader(xml)));
Element rootElement = document.getDocumentElement();

如果你的XML在文件中,Document document则将被实例化为:

Document document = builder.parse(new File("file.xml"));

在document.getDocumentElement()返回你是文档的文档元素节点(你的情况 )。

一旦有了rootElement,就可以访问元素的属性(通过调用rootElement.getAttribute()method),等等。有关Java的org.w3c.dom.Element的更多方法

有关Java DocumentBuilderDocumentBuilderFactory的更多信息。请记住,提供的示例将创建一个XML DOM树,因此,如果你有大量XML数据,则该树可能会很大。

相关问题。

更新这是获取元素“值”的示例

protected String getString(String tagName, Element element) {
        NodeList list = element.getElementsByTagName(tagName);
        if (list != null && list.getLength() > 0) {
            NodeList subList = list.item(0).getChildNodes();

            if (subList != null && subList.getLength() > 0) {
                return subList.item(0).getNodeValue();
            }
        }

        return null;
    }

你可以有效地称呼它为

String requestQueueName = getString("requestqueue", element);


 类似资料:
  • 问题内容: 如果我有: 如何使用T-SQL获得元素名称“名称”和“内容”的列表? 到目前为止,我得到的最好成绩是: 但是,当然,我无法解决这个问题。 问题答案: 实际上,对不起,我得到的最好的是: 猜猜我回答了我自己的问题…

  • 问题内容: 希望有人能解释为什么我无法从中检索元素。 考虑我包含正确地覆盖了它们和方法的列表。 我希望做的是构造一个我自己,并将相关的哈希码属性设置为某些值。我可以查询该方法,以查看集合中是否存在“等效”对象。因此,即使两个对象返回true,它们也可能不是真实的。 为何没有类似的方法呢? 有兴趣了解此API决策背后的想法 问题答案: 如果知道要检索的元素,那么您已经有了该元素。给定一个元素,答案的

  • 嗨,我是XML的新手,我的教授从未教过我XML,但我有这个任务,基本上,我必须使用java创建一个地址簿,并将其保存/更新到一个xml文件中。 到目前为止这是我的代码 } 构造函数和其他我需要的东西 我的主课 我的XML文件是这样的 我希望能够使用扫描仪搜索像蒂姆这样的名字,然后使用该名字,显示与该名字相关的所有信息。例如,如果在扫描仪中键入了john,则会显示john的地址、电话和组。 反之亦然

  • 我有一个问题。我想获取pin码,其中street=='abc strt'<我正在使用Jaway来实现这一点 jaywayxpath:,正在返回

  • 问题内容: 第一个和第二个显示的内容只不过是一个空字符串,我认为应该是and。但是,经过精心设置之后,第三个警报终于发出来。 但为什么?我该如何正确检索该财产? 谢谢。 问题答案: 属性直接映射到属性,而不是所施加的样式。为此,您需要getComputedStyle。 我会认真考虑切换演示文稿并将其与逻辑完全分开。

  • 问题内容: 我试图将多个排序列表合并到一个TreeSet中。然后,我考虑在该TreeSet上应用Binary Search算法,以O(log n)时间复杂度来检索元素。 下面是我的代码,在其中,我以一种方法传递列表列表,并将它们组合在一起以避免重复…里面的所有列表都经过排序- 首先,这是将多个排序列表合并到TreeSet中的正确方法吗?是否有任何直接方法可以有效地合并TreeSet中的多个排序列表