java - 如何保留 XML 标签但删除 HTML 标签

标签 java html xml

<分区>

我有一个包含一些 HTML 标签的 XML 文件。我想保留 XML 标签但删除 HTML 标签。例如在下面的结构中

<xml_tag_parent>
     <xml_tag_child>
       Some text here <p> some parag here </p>
     </xml_tag_child>
</xml_tag_parent>

我想得到:

<xml_tag_parent>
     <xml_tag_child>
       Some text here some parag here 
     </xml_tag_child>
</xml_tag_parent>

事先不知道xml标签是什么。 另请注意,HTML 标记可能是嵌套的,所以我不能只获取节点的值。例如在下面的 xml 文档中:

<description id="description">
  <heading id="h-0001" level="1">CROSS REFERENCE</heading>
  <p id="p-0002" num="0001">The Paragraph </p>
  <claim attr="someAttr"> abcs </claim>
  <claim attr="2">
    <p> this is another paragraph <b>with some bold things</b> </p>
  </claim>
</description id="description">

我想得到:

<description id="description">
  CROSS REFERENCE The Paragraph
  <claim attr="someAttr"> abcs </claim>
  <claim attr="2">
    this is another paragraph with some bold things
  </claim>
</description id="description">

我可以尝试对所有 HTML 标签进行硬编码,找到它们,然后删除它们。例如,我可以查找 < p > 标签并将其替换为空字符串,但这听起来不对,此外还有很多我需要覆盖的标签。是否有 Java 库或更好的方法来做到这一点?

最佳答案

您可以使用Jericho jar 来实现您想要的。

它能够只提取 html 标签并忽略所有其他标签,符合您的需要。

http://jericho.htmlparser.net/docs/index.html

关于java - 如何保留 XML 标签但删除 HTML 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37713794/

相关文章:

html - 图标栏汉堡不起作用,只显示一条水平线

c# - svcutil.exe 是 xsd.exe 的替代品吗?

java - 在 Java 中将 LinkedIn XML 数据转换为 JSON

java - 如何使用java从docker容器读取文件

java - 在后台在服务器上运行周期性任务

java - 编译器找不到类 Files 的方法

java - 将用户数据保存在 jar 文件本身中

javascript - html 选择执行 javascript onload

javascript - 在 react 范围 slider 中抛出 "Uncaught ReferenceError: value is not defined"

c# - MSXML 创建 XML "header"