我有一个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实现这一点?
使用以下XPath
表达式,即不指定text()
:
XPathExpression expr = xpath.compile("//description");
并用node.getTextContent()
读取CDATA
内容