【发布时间】:2016-08-25 23:04:30
【问题描述】:
我有以下 xml:
<?xml version=\"1.0\"?>
<1>
<TITLE>A Sample Article</TITLE>
<SECT>The First Major Section <PARA>This section will introduce a subsection.</PARA>
<2>
<SECT>The Subsection Heading <PARA>This is the text of the subsection. </PARA>
</SECT>
</SECT>
</ARTICLE>
我想使用 Java 删除数字标签“”和“”。
解析器不能作为无效的 xml 工作。我需要另一种解决方案,例如正则表达式或任何其他想法。
【问题讨论】:
-
是
1的<1>变量,还是始终是文字1? -
@Bohemian 里面还有一个
<2>。目前尚不完全清楚已尝试过什么以及存在什么问题。 -
效果很好。想知道我们是否需要将标签 和 分别替换为 <_1> 和 <_2> ,那么正则表达式是什么。我是正则表达式的新手,不胜感激。谢谢
-
解析器将无法工作,因为它是无效的 xml。 我怀疑对此进行了很多研究。如果解析器无法处理无效的 xml,则不会进行太多解析,并且大多数网站都会显示空白页,因为那里有很多垃圾 xml,而这个 xml 并不是那个坏的. :P 我没有用这个特定的数据尝试过。但我看不出为什么,例如一个简单的 SAXReader 会因此而绊倒。你不要让处理程序对你不想要的东西做任何事情,就是这样。 SAX 也不介意缺少
<ARTICLE>标头,如果您真的需要它来做某事,您可能会伪造它。 -
@Arjan 我尝试了 SAXReader,我收到以下错误“线程“主”org.apache.commons.jxpath.JXPathException 中的异常:Dom4J 解析器错误;文档第 1 行的错误:根元素之前的文档中的标记必须格式正确。嵌套异常:根元素之前的文档中的标记必须格式正确。在 test.pkg.RegExp.parseXML(RegExp.java:71) 在 test.pkg.RegExp.main(RegExp.java:56) '