清理xml文件我已经获得了意想不到的结果:tagsoup已经孤立了一些关闭父标记的属性。它还会降低父标记的名称。
在tags之前:
<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&other=1&url=http%3A%2F%2Fredirected.example.com%2F40</Url>
[...]
<Owner>
<Name>JOHN MARSHALL, MR</Name>
</Owner>
</Object>
<Object>
<ObjectID>122</ObjectID>
[...]
在tagsoup:
之后<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&other=1&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文件的所需输出将是相同的文件(可能只是更改细节,但不是结构),不是吗?
答案 0 :(得分:0)
Tagsoup旨在用作HTML解析器并清理糟糕的HTML。对于由HTML标签定义的标签名称,知道哪些元素被允许在哪些其他元素内,并将尝试纠正任何错误嵌套的元素。还要记住,在HTML中,与XML不同,标记名称不区分大小写。
在这种情况下,似乎已经确定它知道object
和title
在HTML中应该是什么意思(分别是某种嵌入对象和页面标题),它知道title
内不允许object
。但是ObjectID
和Status
不是已知的HTML元素名称,因此它带来了疑问的好处并让它们独自存在。