我有一个kml文件(基本上是xml),它有一组节点;名称,描述,坐标等。到目前为止,我只获得了两个值;名称和坐标。现在我想获取描述数据,唯一的问题是它是CData,并且在解析时它被忽略。
到目前为止,我一直在使用XQuery获取数据;
XPathExpression expr = xpath.compile("//name/text()");
Object result = expr.evaluate(doc, XPathConstants.NODESET);
NodeList nodes = (NodeList) result;
for...
在kml文件中,它只是<![CDATA [.....]>而不是“101”(实际字符串)使用相同的查询它什么都不返回。
kml文件具有结构:
<Document>
<Placemark>
<name>101</name>
<description><![CDATA[.....]]></description>
<polygon>
<coordinates>......</coordinates>
</polygon>
</Placemark>
<Placemark>
....
</Placemark>
</Document>
有没有办法通过XQuery实现?
答案 0 :(得分:0)
使用以下XPath
表达式,即不指定text()
:
XPathExpression expr = xpath.compile("//description");
并使用CDATA
node.getTextContent()
内容