加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

在C#中使用命名空间创建一个特定的XML文档

发布时间:2020-12-15 04:10:01 所属栏目:百科 来源:网络整理
导读:我们获得了一个示例文档,并且需要能够为供应商准确地再现文档的结构.但是,我有点迷茫,C#如何处理命名空间.以下是文档示例: ?xml version="1.0" encoding="UTF-8"?Doc1 xmlns="http://www.sample.com/file" xmlns:xsi="http://www.w3.org/2001/XMLSchema-ins
我们获得了一个示例文档,并且需要能够为供应商准确地再现文档的结构.但是,我有点迷茫,C#如何处理命名空间.以下是文档示例:
<?xml version="1.0" encoding="UTF-8"?>
<Doc1 xmlns="http://www.sample.com/file" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://www.sample.com/file/long/path.xsd">
    <header>
        <stuff>data</stuff>
        <morestuff>data</morestuff>
    </header>
 </Doc1>

我通常会这么做的是加载一个空白文档,然后开始填充它:

XmlDocument doc = new XmlDocument();
doc.LoadXml("<Doc1></Doc1>");
// Add nodes here with insert,etc...

一旦我得到文档开始,我如何获得命名空间和模式到Doc1元素?如果我从Doc1元素中的命名空间和模式开始,通过将它们包含在LoadXml()中,那么所有的子元素都有它们的命名空间 – 这是一个no-no.文件被拒绝.

所以换句话说,我必须如图所示生成. (我宁愿在C#中只写文本到文件,希望它是有效的XML).

解决方法

你应该这样尝试
XmlDocument doc = new XmlDocument();  

  XmlSchema schema = new XmlSchema();
  schema.Namespaces.Add("xmlns","http://www.sample.com/file");

  doc.Schemas.Add(schema);

不要忘记包括以下命名空间:

using System.Xml.Schema;
using System.Xml;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读