在Java中解析XML并忽略标记

时间:2014-05-24 08:54:41

标签: java xml xml-parsing

我有一个XML文件,我想从一个标签中获取文本,但是如果该文本包含另一个标记而忽略它。例如:

<?xml version="1.0"?>
<entries>
  <entry accente="B" diacritice="B">
    <sense class="0" value="B">
      <definition>
        <RegDef>Hello  <i>world.</i> Today is Saturday.</RegDef>
      </definition>
    </sense>
  </entry>
 </entries>

输出应该是:“Hello world。今天是星期六。

这样做的最佳方法是什么?

2 个答案:

答案 0 :(得分:2)

谢谢你,@大卫华莱士。

String expression = "/entries/entry/sense/definition/RegDef";
System.out.println(expression);
String RegDef = xPath.compile(expression).evaluate(xmlDocument);
System.out.println(RegDef);

这正是我想要的。

答案 1 :(得分:0)

我相信,忽略xml中的标记无法完成。 所以问题的最佳解决方案是,

1-将XML的内容读入字符串

解析字符串并删除所有不需要的标签&amp;字符。

3-将String写回文件。如果无法修改原始文件,请创建新文件

解析修改后的/新文件。

希望这有帮助。