在C#.Net中重新创建QuantumGIS SLD(XML)文件

本文关键字:QuantumGIS SLD XML 文件 创建 新创建 Net | 更新日期: 2023-09-27 18:05:15

背景

我目前正在完成我的论文的一部分,我正在写的程序需要一些帮助。我的目标是快速了解一个程序,该程序可以连接到PostgreSQL数据库,检索所需的数据,然后使用它创建一个文件,描述如何在GIS套件或WebMapServer(或类似(中显示指定的数据。

现在我已经非常熟悉C#了,并且已经使用它几年了,但是我从未真正深入研究过使用它以XML存储数据,甚至在我的解决方案中通常使用XML文件,因此对XML类没有太多经验。

现在,为了快速指出SLD(StyledLayerDescriptor(文件本质上只是XML文档。

问题

我在使用C#重新创建它时遇到了问题。我遇到的主要问题是发现如何使用XmlWriter类在每个元素名称之前重新创建"se:"前缀,而在每个子元素的开头没有xmlns="…",但在顶部也有名称空间声明的长字符串,尽管看起来没有使用。

这就是我到目前为止所能生产的。

编辑:
我还可以生成每个带有前缀和命名空间分离的子元素,如文档顶部的"StyledLayerDescriptor"所示

如果需要的话,我可以发布我的任何XmlWriter代码,要么这真的很简单,我遗漏了一些东西,要么很难重新创建,因为我已经搜索答案很长时间了。我已经阅读了我认为是"在C#.Net 2008中开始XML"的相关章节,并且仍在努力重新创建该文件。

任何帮助或指导都将不胜感激,因为它让我耽误了一段时间,而且我正处于一个无法真正继续编程的地步,直到我现在修复为止。

还要指出的是,我觉得在每个元素之前获得前缀se:的优先级要高得多,尽管如果父名称被声明为se:,在这种情况下,它的子元素需要"StyledLayerDescriptor"吗?没有必要吗?

干杯

Earl

在C#.Net中重新创建QuantumGIS SLD(XML)文件

MSDN有一篇题为"XmlWriter中的命名空间处理"的文章,可能对您有所帮助。