【问题标题】:Parse XML with text between tags使用标签之间的文本解析 XML
【发布时间】:2013-07-02 15:18:14
【问题描述】:

我有以下情况:

<xml>Text text text<a><b></b>Test text</a> text text text<c>text text</c><d><d/><xml>

如何解析这个 xml 以便保留所有信息(解析成树?)。我需要保留文本以及文本中标签的顺序和位置。

感谢您的帮助!

编辑:我已经尝试过使用 java 解析器...我没有设法让它工作。

【问题讨论】:

  • 到目前为止...你做了什么?
  • google.com -> java parse xml On of the first results给了我这个mkyong.com/java/how-to-read-xml-file-in-java-sax-parser
  • @Adriano :我尝试使用 dom4j 解析器...使用 xpath 可以从标签中获取文本...但随后我丢失了所有其他信息
  • 第一:你想在哪里以及如何存储它们?如果您需要将该数据保存在树中......只需将其保存为它们的格式并通过 DOM 访问它们。第二:它不是有效的 XML(未封闭的标签),但我想这只是你在这里写的一个例子。最后:向我们展示您的代码更具体(参见常见问题解答)否则我们必须猜测您可能需要什么。
  • @Adriano:我需要将信息存储到数据库中(然后可以更改一些信息:例如部分文本或标签的顺序)。之后,我必须再次使用代表新信息的 xml 结构创建一个文本文件。标签表示文本的格式(粗体,斜体,字体样式,还有更复杂的东西)..但就像你说的:xml 格式不正确或事件无效(第二个 标签实际上应该是 标签)...所以没有未闭合的标签。

标签: java xml parsing tree


【解决方案1】:

这不是格式良好的 xml。您不能使用标准解析器。 你必须写一个你的。

【讨论】:

  • 这就是我的想法……你将如何实现这样的解析器?正则表达式?
  • 但它没有意义,这不是一个XML,你不能像它那样解析它。写下你必须保存什么样的数据,也许我们可以选择不同的数据结构
  • 我的任务是解析具有示例结构的文档并将所有信息保存到数据库中。 (更改一些信息后,我必须再次创建一个文档)
  • 是的,我明白了,但我的建议是,如果您创建此类文档,您可以更改其结构。告诉我数据的来源,也许我们能找到最好的方法。
  • 我不确定我是否理解正确...我从客户那里得到此文档...我一开始没有创建此文档。
猜你喜欢
  • 2012-07-22
  • 1970-01-01
  • 2014-11-01
  • 2018-09-30
  • 2013-08-21
  • 2021-12-14
  • 1970-01-01
  • 1970-01-01
  • 2019-12-06
相关资源
最近更新 更多