gpt4 book ai didi

java - 对格式不正确的 XML 进行 XPath 评估?

转载 作者:行者123 更新时间:2023-12-01 04:54:09 24 4
gpt4 key购买 nike

我需要通过 XPath 求值器传递一些格式不严格的 XML。 XML 实际上主要是 html,可能如下所示:

<p>
<a href="http://www.something.com/5993810749/" title="IMG_3013”>
<img src="5993810749_107ea7d465_m.jpg" width="240" height="160" alt="IMG_3013”/>
</a>
</p>
<p>
<a href="http://www.something.com/836492365986/" title="IMG_3018”>
<img src=“8364923659_107ea3286465_m.jpg" width=“365" height=“248" alt="IMG_3018”/>
</a>
</p>

因此,值得注意的问题是:没有根元素;另外<img>没有终止。虽然用根元素包装很容易,但当我通过 XPath 求值器时,我得到一个异常,如下所示:

[Fatal Error] :7:196: The element type "img" must be terminated by the matching end-tag "</img>".

顺便说一句,Java 中 XPath Evaluator 的代码如下所示:

XPath xPath = XPathFactory.newInstance().newXPath();
Object result = xPath.evaluate(xpath,
new InputSource(new StringReader(xmlString)), XPathConstants.NODESET);

所以,我想知道,处理这个问题的最佳方法是什么,以便我可以成功评估 XML?看来我至少有两个选择: (a) 尝试让 XPath 评估器变得更智能;或者 (b) 尝试找到一种方法来自动修复格式错误的 XML。如果能解决这个问题,我们将不胜感激!

最佳答案

有几个实用程序可以将 HTML 或一般带有尖括号的任何内容转换为格式良好的 XML(它可能是也可能不是您期望的 XML,但它将是格式良好的)。 JTidy 和 TagSoup 经常用于这个角色。您不必具体化 XML,您可以将其直接泵入处理管道的下一步,例如XSLT 转换或架构验证。

关于java - 对格式不正确的 XML 进行 XPath 评估?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14440343/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com