ste*_*ell 5 .net c# xml xmlwriter
我正在使用以下代码初始化XmlDocument
XmlDocument moDocument = new XmlDocument();
moDocument.AppendChild(moDocument.CreateXmlDeclaration("1.0", "UTF-8", null));
moDocument.AppendChild(moDocument.CreateElement("kml", "http://www.opengis.net/kml/2.2"));
Run Code Online (Sandbox Code Playgroud)
在此过程的后面,我使用以下代码向其中写入一些值
using (XmlWriter oWriter = oDocument.DocumentElement.CreateNavigator().AppendChild())
{
oWriter.WriteStartElement("Placemark");
//....
oWriter.WriteEndElement();
oWriter.Flush();
}
Run Code Online (Sandbox Code Playgroud)
保存文档后,最终得到以下xml
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Placemark xmlns="">
<!-- -->
</Placemark>
</kml>
Run Code Online (Sandbox Code Playgroud)
如何摆脱Placemark元素上的空xmlns?
-编辑以显示更改位置标记的方式-
如果我将名称空间放在位置标记的写入中,则不会将任何元素添加到文档中。
我通过使用以下代码创建文档解决了该问题(文档元素中没有命名空间)
XmlDocument moDocument = new XmlDocument();
moDocument.AppendChild(moDocument.CreateXmlDeclaration("1.0", "UTF-8", null));
moDocument.AppendChild(moDocument.CreateElement("kml"));
Run Code Online (Sandbox Code Playgroud)
并通过使用以下代码保存它来在保存之前设置命名空间
moDocument.DocumentElement.SetAttribute("xmlns", msNamespace);
moDocument.Save(msFilePath);
Run Code Online (Sandbox Code Playgroud)
这是有效的,因为仅在保存的 xml 文件中需要命名空间。
| 归档时间: |
|
| 查看次数: |
5835 次 |
| 最近记录: |