我需要像这样读取xml文档:
<wcs:CoverageOffering>
<wcs:description>Generated from GeoTIFF</wcs:description>
<wcs:name>ndh:ndh-cyclone-mortality-risks-distribution</wcs:name>
....但在一些服务器中,xml文档是在没有名称空间标记的情况下实现的:
<CoverageOffering>
<description>Generated from GeoTIFF</description>
<name>ndh:ndh-cyclone-mortality-risks-distribution</name>
....我怎样才能高效地阅读这两篇文章呢?(我为每个节点编写了if else语句来控制这种情况,但这似乎不是一个好方法)
发布于 2013-05-27 15:53:24
使用XmlDocument并将wcs命名空间添加到XmlNamespaceManager
var document = new XmlDocument();
document.Load(...);
var nsmgr = new XmlNamespaceManager(document.NameTable);
nsmgr.AddNamespace("wcs", "http://...your ns");
var nl = document.SelectNodes("your xpath", nsmgr);发布于 2013-05-27 15:46:03
您可以使用this XML Library。如果需要,它将使用命名空间。
您可以像这样使用它:
XElement root = XElement.Load(file);
string description = root.Get("path/to/description", default(string));或
string description = root.XGetElement("//description", default(string));default(string)用于任何Get的类型转换。你可以传递任何你想要的默认值。
https://stackoverflow.com/questions/16768228
复制相似问题