gpt4 book ai didi

java - tagoup 破坏了良好的 xml

转载 作者:太空宇宙 更新时间:2023-11-04 14:42:10 25 4
gpt4 key购买 nike

清理 xml 文件我得到了意想不到的结果:tagoup 过早地孤立了一些关闭父标记的属性。它还会小写父标签的名称。

在标签汤之前:

<Objects>
<Object>
<ObjectID>240</ObjectID>
[...]
<Status>Not Ready</Status>
<Title>Some description which includes word/word, 22,000</Title>
<Url>http://example.com/withquerystring?id=240&amp;other=1&amp;url=http%3A%2F%2Fredirected.example.com%2F40</Url>
[...]
<Owner>
<Name>JOHN MARSHALL, MR</Name>
</Owner>
</Object>
<Object>
<ObjectID>122</ObjectID>
[...]

标签汤之后:

<Objects>
<object>
<ObjectID>240</ObjectID>
[...]
<Status>Not Ready</Status>
</object>
<Title>Some description which includes word/word, 22,000</Title>
<Url>http://example.com/withquerystring?id=240&amp;other=1&amp;url=http%3A%2F%2Fredirected.example.com%2F40</Url>
[...]
<Owner>
<Name>JOHN MARSHALL, MR</Name>
</Owner>
<object>
<ObjectID>122</ObjectID>
[...]

我在一个使用此库的 java 项目中:

import org.ccil.cowan.tagsoup.Parser;
import org.ccil.cowan.tagsoup.XMLWriter;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import org.xml.sax.XMLReader;

我使用的是 Java 6。

有什么线索吗?
有效 xml 文件的所需输出将是相同的文件(可能只是更改详细信息,而不是结构),不是吗?

最佳答案

Tagsoup 旨在作为 HTML 解析器并清理不良的 HTML。对于由 HTML 定义的标签名称,tagoup 知道哪些元素可以包含在哪些其他元素中,并将尝试纠正任何错误嵌套的元素。另请记住,与 XML 不同,在 HTML 中,标记名称不区分大小写。

在这种情况下,它似乎已经决定它知道 objecttitle 在 HTML 中的含义(分别是某种嵌入的对象,以及该对象的标题)页),并且它知道 title 不允许出现在 object 内。但 ObjectIDStatus 不是已知的 HTML 元素名称,因此它会假定无罪,而不会打扰它们。

关于java - tagoup 破坏了良好的 xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24823073/

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