0

我如何使用下面的代码创建正确 xml 的 xml 字符串..

string myInputXmlString = @"<ApplicationData>
                                        <something>else</something>
                                    </ApplicationData>";
        var doc = new XmlDocument();
        doc.LoadXml(myInputXmlString);

        XmlAttribute newAttr = doc.CreateAttribute(
            "xsi", 
            "noNamespaceSchemaLocation", 
            "http://www.w3.org/2001/XMLSchema-instance");
        doc.DocumentElement.Attributes.Append(newAttr);

        var ms = new MemoryStream();
        XmlWriterSettings ws = new XmlWriterSettings
        {
            OmitXmlDeclaration = false,
            ConformanceLevel = ConformanceLevel.Document,
            Encoding = UTF8Encoding.UTF8
        };
        var tx = XmlWriter.Create(ms, ws);
        doc.Save(tx);
        tx.Flush();

        var xmlString = UTF8Encoding.UTF8.GetString(ms.ToArray());
        Console.WriteLine(xmlString);

如何向其中添加 xsd 信息,使 xml 看起来像这样(包括“FullModeDataset.xsd”?

 <ApplicationData
  xsi:noNamespaceSchemaLocation="FullModeDataset.xsd"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" />

而不是当前代码输出的这个

 <ApplicationData
  xsi:noNamespaceSchemaLocation=""
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" />
4

1 回答 1

1

这是偶然的吗?

doc.DocumentElement.SetAttribute("noNamespaceSchemaLocation", 
        "http://www.w3.org/2001/XMLSchema-instance",
        "FullModeDataset.xsd");
于 2013-01-02T22:19:46.210 回答