Scala XML from Node to String warnings



我的问题是关于scala.xml以及从Node类型到String的转换(使用任何buildStringtoString方法(。

当我对标准输出进行这样的转换时,我会收到一个关于输入的警告列表,如下所示:

line 2 column 2 - Warning: unknown attribute "myAttribute1"
line 3 column 9 - Warning: unknown attribute "myAttribute2"
line 6 column 9 - Warning: unknown attribute "myAttribute3"
line 7 column 13 - Warning: unknown attribute "myAttribute4"
line 7 column 13 - Warning: unknown attribute "myAttribute5"
line 13 column 25 - Warning: <th> attribute "width" has invalid value "3%"
line 15 column 36 - Warning: <th> attribute "width" has invalid value "5%"
line 17 column 36 - Warning: <th> attribute "width" has invalid value "3%"
line 19 column 36 - Warning: <th> attribute "width" has invalid value "15%"
line 21 column 36 - Warning: <th> attribute "width" has invalid value "3%"
line 23 column 36 - Warning: <th> attribute "width" has invalid value "3%"
line 25 column 36 - Warning: <th> attribute "width" has invalid value "3%"
line 27 column 36 - Warning: <th> attribute "width" has invalid value "3%"
line 29 column 36 - Warning: <th> attribute "width" has invalid value "3%"
line 35 column 22 - Warning: unknown attribute "data-col-count"
line 41 column 15 - Warning: inserting missing 'title' element
InputStream: Document content looks like HTML 4.01 Transitional
18 warnings, no errors were found!
The table summary attribute should be used to describe
the table structure. It is very helpful for people using
non-visual browsers. The scope and headers attributes for
table cells are useful for specifying which headers apply
to each table cell, enabling non-visual browsers to provide
a meaningful context for each cell.
For further advice on how to make your pages accessible
see "http://www.w3.org/WAI/GL". You may also want to try
"http://www.cast.org/bobby/" which is a free Web-based
service for checking URLs for accessibility.

所以,我的问题是是否有办法摆脱这样的输出。 生成此代码的代码只是:

data.buildString(true).getBytes(StandardCharsets.UTF_8)

其中数据是Scala.xml.Node谢谢

编辑

我试图从Node解析到String,然后再解析回 REPL,但我没有得到任何这些警告。

对于解析,我使用了一个从 scala 扩展XMLLooader的自定义对象.xml带有一个带有setValidation(false)SAXParser。然后我只使用loadString(input)来获取我的节点。

看看我在这里结束SAXParser的文档:https://docs.oracle.com/javase/7/docs/api/org/xml/sax/helpers/DefaultHandler.html#warning(org.xml.sax.SAXParseException(,其中说,默认情况下没有为警告提供任何操作。

看起来您的输出来自 JTidy,就像这个问题中描述的那样,删除警告,或者可能是其他一些"整洁"的库。

当我尝试你的台词时:

data.buildString(true).getBytes(StandardCharsets.UTF_8)

它没有给我任何你得到的输出,也许程序的另一部分导致了这个?

最新更新