我在c#中读取一些gml文件时遇到问题.我的文件没有架构或命名空间,看起来像这个问题的文件:
Parsing GML data using C# Linq to XML
只有像这样的模式:
<gml:Polygon srsName='http://www.opengis.net/gml/srs/epsg.xml#4283'> <gml:outerBoundaryIs> <gml:LinearRing> <gml:coord> <gml:X>152.035953</gml:X> <gml:Y>-28.2103190007845</gml:Y> </gml:coord> <gml:coord> <gml:X>152.035957</gml:X> <gml:Y>-28.2102020007845</gml:Y> </gml:coord> <gml:coord> <gml:X>152.034636</gml:X> <gml:Y>-28.2100120007845</gml:Y> </gml:coord> <gml:coord> <gml:X>152.034617</gml:X> <gml:Y>-28.2101390007845</gml:Y> </gml:coord> <gml:coord> <gml:X>152.035953</gml:X> <gml:Y>-28.2103190007845</gml:Y> </gml:coord> </gml:LinearRing> </gml:outerBoundaryIs> </gml:Polygon>
当我尝试使用XDocument.Load方法读取文档时,我得到一个异常说:’gml’命名空间未定义.
解决方法
将XmlTextReader与XmlNamespaceManager一起使用.请在此处查看MSDN上的示例:
http://msdn.microsoft.com/en-us/library/system.xml.xmlnamespacemanager.xmlnamespacemanager.aspx