为什么我不能通过Java读取此XML消息?

时间:2015-07-14 19:46:56

标签: java xml

我有以下XML,但我无法访问代码<description>

http://i.stack.imgur.com/Ck6mq.jpg

一个更简单的XML,我可以读得很好,但我不能。

解析代码如下:

xmlFile = new File(route);
documentFactory = DocumentBuilderFactory.newInstance();   
documentBuilder = documentFactory.newDocumentBuilder();
doc = documentBuilder.parse(xmlFile);
doc.getDocumentElement().normalize();

2 个答案:

答案 0 :(得分:0)

comprobante元素中包含XML声明:

<?xml version="1.0" encoding="UTF-8"?>

XML声明may only appear once in an XML document and may only occur at the very top。其他任何事情都会阻止文件well-formed,并且会阻止使用符合标准的XML工具。如果要将此数据视为XML,则必须删除无关的XML声明。

答案 1 :(得分:0)

comprobante元素包含另一个xml作为文本节点。嵌套的xml包含您要搜索的description元素。你能做的是:

doc = documentBuilder.parse(xmlFile);
element = get comprobante element from doc
InputSource is = new InputSource(new StringReader(element.getTextContent());
doc = documentBuilder.parse(is);
now search for description element in this doc