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

解析Java中XML字符串的最佳方法?

贺卜霸
2023-03-14
问题内容

我正在使用解析Java中的字符串javax.xml.parsers.DocumentBuilder。但是,没有直接解析字符串的函数,所以我改为这样做:

public static Document parseText(String zText) {
    try
    {
        DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
        DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
        Document doc = dBuilder.parse(new InputSource(new StringReader(zText)));
        doc.getDocumentElement().normalize();
        return doc;
    }
    catch (Exception e) {
            e.printStackTrace();
    }
    return null;
}

这是最好的方法吗?我觉得必须有一个更简单的方法…谢谢!


问题答案:

直接回答您的问题-据我所知,没有更好的方法。使用输入源是因为它比较通用,可以处理来自文件,字符串或跨线的输入,这是我的理解。

您还可以尝试使用SAX Xml解析器-
它稍微有点基础,并且使用了Visitor模式,但是可以完成工作,对于较小的数据集和简单的XML模式,它非常易于使用。SAX也包含在核心JRE中。



 类似资料:
  • 问题内容: 您如何解析存储在Java字符串对象中的xml? Java的XMLReader仅从URI或输入流中解析XML文档。无法从包含xml数据的字符串进行解析? 现在,我有以下内容: 在我的处理程序上,我有这个: 提前致谢 问题答案: 该SAXParser的可以读取的的InputSource。 一个 InputSource的 可以采取 读者 在其构造 因此,您可以通过StringReader来解

  • 在python中,从URL查询字符串(例如,通过表单附加到URL的数据)解析数据的最佳方法是什么?我的目标是接受表单数据并将其显示在同一页面上。我已经研究了几种方法,但并不完全是我想要的。 我正在创建一个简单的Web服务器,目标是学习套接字。此Web服务器仅用于测试目的。

  • 问题内容: 我需要解析这样的URL字符串: 我需要将NSString拆分为类似和的标志部分。我一直在用,但是值以随机顺序返回,所以搞砸了。是否有任何类可以轻松解析,因此您基本上可以将其转换为NSDictionary以便能够读取键的值(例如ValueForKey:应该返回)。还是有比使用子字符串更简单的解析方法? 问题答案: **编辑(2018年6月):[ 这个答案更好 您可以queryItems在

  • 问题内容: 我在尝试搜索字符串中的子字符串时遇到问题。该子字符串可能在字符串中也可能不在字符串中。 我知道是否可以完成的两种方法是: 正则表达式 但是,还有其他“优化”方式吗?你会怎么做? Ruby可以提供更好的答案吗?由于我们使用jRuby,因此答案可以是Ruby或Java。 问题答案: 在Ruby中,使用方法: 返回。

  • 我有一个ServerEndpoint,它将累加不同的JSON格式。由于每个消息类型只允许一个消息处理程序,因此我的一个解码器必须将消息转换为相应的Java对象。 在我的解码器中,我试图使用ObjectMapper类将累犯的消息转换为子类或子类(这会产生相同的接口)。ObjectMapper类有一个readValue方法,它需要我试图将json映射到的类型,当它不能转换为指定的类型时,它将抛出异常。

  • 问题内容: 在Java中执行以下操作的最佳方法是什么。我有两个输入字符串 我需要从字符串中提取类型和数字。 在这种情况下,答案是type =“ a good”和number =“ 234” 谢谢 问题答案: 您可以使用正则表达式: