使用<解析xml文件和>

时间:2017-09-25 07:57:23

标签: java xml

我正在解析xml文件以使用Lucene查询某些字段。但我对<>有疑问。我知道xml中的残疾人字符是"&","<",">"。

所以我的问题是:如何表示<和>在xml文件中?

xml文件示例:

<?xml version="1.0" encoding="UTF-8"?>
<iniciativa_completa>
  <legislatura>NSA</legislatura>
  <numero_diario>3, 123, 257-65</numero_diario>
  <parrafo> While the individual main effects were modest, each yielding OR &lt; 1.6, the effects were cumulative, with some combinations reaching OR = 12.6 (95% CI: 5.9-26.8).</parrafo>
</iniciativa_completa>

然后,在我的java代码中:

String resumen = "";
XMLInputFactory xmlInputFactory = XMLInputFactory.newInstance();
XMLEventReader xmlEventReader = xmlInputFactory.createXMLEventReader(new FileInputStream(fileName));
xmlEventReader.nextEvent();

while (xmlEventReader.hasNext()) {
     XMLEvent xmlEvent = xmlEventReader.nextEvent();

     if (xmlEvent.isStartElement()) {
         StartElement startElement = xmlEvent.asStartElement();

        if (startElement.getName().getLocalPart().equals("parrafo")) {
           xmlEvent = xmlEventReader.nextEvent();
           resumen = xmlEvent.toString();                            
        }
     }
}

当我解析它时,resumen等于&#34;虽然各个主要效果都是适度的,但每个都产生了OR&#34;。

我也试过&#60;&#62;

谢谢!

1 个答案:

答案 0 :(得分:2)

我修复了错误。创建XMLInputFactory后,我设置以下属性:

 xmlInputFactory.setProperty(IS_COALESCING,true);

https://docs.oracle.com/javase/7/docs/api/javax/xml/stream/XMLInputFactory.html

谢谢大家。