[英]How to parse xml with < using XmlStreamReader
我正在嘗試解析 xml 文件。 但是 < 有一個問題。
我的 XML 文件示例:
<title>
<subtitle> The conclusion is p < 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”。
我預期的 output 是“結論是 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();
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.