我很困惑你可以帮我解决这个问题,即,我正在使用xpath直接读取xml消息并从中读取值,而且我正在尝试将xml转换为json并因为轻量级对象而读取值哪一个是读取值的最佳方法。我附上了以下代码段。
以下是从xml
读取值的代码DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document document = db.parse(source);
XPathFactory xpathFactory = XPathFactory.newInstance();
XPath xpath = xpathFactory.newXPath();
String eventNumber = xpath.evaluate("/event/eventnumber", document);
下面是将xml转换为json
JSONObject xmlJSONObj = XML.toJSONObject(xml1);
答案 0 :(得分:0)
这实际上取决于您将使用的数据。如果您需要对数据进行大量解析/遍历,由于JSON API的性质,JSON会更快。因此,如果您需要在单个文件上进行大量数据提取/检查,我会将XML转换为JSON。
如果你只需要在XML文件中找到一个字段或只进行少量的解析/数据提取,我就会坚持使用XML。如果您只是通过XML文件进行少量遍历,那么将XML文件转换为JSON的额外处理是不值得的。将XML转换为JSON然后遍历JSON所花费的处理时间比遍历XML文件所需的处理时间更高。
答案 1 :(得分:0)
此处发表的另一个讨论: JSON and XML comparison
我认为,自从您收到XML格式的消息以来,它不会提高效率,将其转换为JSON然后解析它,因此坚持使用XML - 所以坚持使用XML
答案 2 :(得分:0)
您的输入是XML,为了速度而转换为JSON看起来不是一个好主意。我想,通过你的另一种方法,你会在DOM创建上浪费时间,然后在xpath
上更多。最快的解决方案是恕我直言SAX parser。它不会创建任何对象,只会在您感兴趣的事件上调用它。