在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; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |