如何使用 XmlStreamReader 通过<分析 xml



我正在尝试解析xml文件。但是<存在一个问题。.>

我的XML文件示例:

<title>
<subtitle> The conclusion is p &lt; 0.1 </subtitle>
</title>
我的代码是:
XMLInputFactory factory = XMLInputFactory.newFactory();
XMLStreamReader reader = factory.createXMLStreamReader(StringSource);
while (reader.hasNext()) {
switch (reader.next()) {
case XMLStreamReader.START_ELEMENT: {
String tagName = reader.getLocalName();
String path = parent.getPath() + "/" + tagName;

parent.addChild(child);
}
case XMLStreamReader.CHARACTERS: {
String text = reader.getText();

解析后,得到的文本是:"0.1"

我期望的输出是"结论是p <0.1">

我认为问题是在getText(),我怎么能解决这个问题?

如果您认为问题是getText(),那么重写为reader.toString()而不是getText();

这里可以看到一个解析代码。

tring 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("subtitle")) {
xmlEvent = xmlEventReader.nextEvent();
resumen = xmlEvent.toString();                            
}
}

}

最新更新