c# - 如何使用 XMLWriter 添加没有前缀的默认命名空间
问题描述
我必须生成一个像这样开头的 xml 文档:-
<?xml 版本="1.0" 编码="UTF-8"?> <GeneticsTestReport SchemaVersion="1-4" xmlns="http://www.organdonation.nhs.uk/XMLschema/DCERT/ns" >
上面的片段取自提供给我的文件,是收件人坚持应该开始的方式。
我有以下代码输出除 xmlns 属性之外的所有内容:-
using (var writer = XmlWriter.Create(fileName, settings))
{
writer.WriteStartDocument();
writer.WriteStartElement("GeneticsTestReport");
writer.WriteAttributeString("SchemaVersion", SchemaVersion);
...other code omitted for brevity
}
我已经尝试了多种添加 xmlns 属性的方法,但我什么也做不了。
代码如:-
writer.WriteStartAttribute("xmlns", ns);
or
writer.WriteAttributeString("xmlns","", null, ns);
引起例外:-
“前缀 '' 不能在同一起始元素标记中从 '' 重新定义为 'http://www.organdonation.nhs.uk/XMLschema/DCERT/ns'。”
或者
“前缀“xmlns”保留供 XML 使用。”
在上面的代码中,ns 是一个设置为“http://www.organdonation.nhs.uk/XMLschema/DCERT/ns”的变量
我已经编写了文档的其余部分,但无法解决这个 xmlns 问题。我不是任何形式或形式的 xml 专家,因此我将不胜感激可以提供的任何帮助。
解决方案
推荐阅读
- flutter - 颤振垂直ScrollSingleChildView不起作用
- c - 用随机像素填充网格
- laravel - Laravel 7 Passport "参数 2 传递给 Laravel\\Passport\\Guards\\TokenGuard::__construct()
- javascript - 在遍历 Angular 中 subscribe 给出的数据时使用变量
- c# - 如何在方法调用时找到方法参数的类型?
- linux - 如何在从一个存储库 git pull 的同时 git push 到两个存储库
- docker - Docker 容器更新 --memory 没有按预期工作
- angular - 我如何在我的 Ionic App 中保持 Firebase Auth 会话
- python - 编排小型 Python 任务的最佳实践(主要是在 BigQuery 中执行 SQL)
- go - Go SMB2 ,阅读和列出目录