c#处理XML、KML的问题

zhengrong822 2012-04-11 11:31:25
当我用C#读取KML时,如果KML中的元素带超链接的属性,其下属元素无法读取的问题。
C#读取代码如下:
string path = Server.MapPath("OpenLayers/KML/ChineseK.kml");
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(path);
XmlNode xn = xmlDoc.SelectSingleNode("kml");
xn = xn.SelectSingleNode("Document");
xn = xn.SelectSingleNode("Folder");
XmlNodeList root = xn.ChildNodes;
KML的节点如下:
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.2">【其中获取该节点可以成功】
<Document>【获取该节点报错】
<Folder> </Folder>
</Document>
</kml>
...全文
401 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
asheo 2012-04-11
  • 打赏
  • 举报
回复
xn.SelectSingleNode("kml/Document");
zhou_xuexi 2012-04-11
  • 打赏
  • 举报
回复
xmlns="http://earth.google.com/kml/2.2"有这个属性应该不会影响这个获取吧
zhengrong822 2012-04-11
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

XmlNode xn = xmlDoc.SelectSingleNode("kml");这个是获取根节点的xn = xn.SelectSingleNode("Document");
xn = xn.SelectSingleNode("Folder");
下面两个只能用childnodes获取
[/Quote]我说错了,是<kml xmlns="http://earth.google.com/kml/2.2">【这个元素获取不到】原因是有xmlns="http://earth.google.com/kml/2.2"这个属性
zhengrong822 2012-04-11
  • 打赏
  • 举报
回复
[Quote=引用楼主 的回复:]
当我用C#读取KML时,如果KML中的元素带超链接的属性,其下属元素无法读取的问题。
C#读取代码如下:
string path = Server.MapPath("OpenLayers/KML/ChineseK.kml");
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(path);……
[/Quote]
我说错了,是<kml xmlns="http://earth.google.com/kml/2.2">【这个元素获取不到】原因是有xmlns="http://earth.google.com/kml/2.2"这个属性
zhou_xuexi 2012-04-11
  • 打赏
  • 举报
回复
XmlNode xn = xmlDoc.SelectSingleNode("kml");这个是获取根节点的xn = xn.SelectSingleNode("Document");
xn = xn.SelectSingleNode("Folder");
下面两个只能用childnodes获取
zhou_xuexi 2012-04-11
  • 打赏
  • 举报
回复
http://www.jb51.net/article/27146.htm看看这个,这个是解决方法
zhou_xuexi 2012-04-11
  • 打赏
  • 举报
回复
额,还有这个说法,我试试看
zhengrong822 2012-04-11
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

xmlns="http://earth.google.com/kml/2.2"有这个属性应该不会影响这个获取吧
[/Quote]
影响,我去掉这个属性就没有问题了

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧