web-dev-qa-db-ja.com

C#<?xml version = "1.0" encoding = "utf-8"?>なしでXML出力ファイルを作成する

私はC#開発に不慣れなので、ここで非常に簡単な質問かもしれません。

私は次のように始まる出力を取得しようとしています:

    <ns0:NamespaceEnvelope xmlns:ns0="http://url.to.NamespaceEnvelope/v1.0">

しかし、これを取得しています:

    <?xml version="1.0" encoding="utf-8"?>
    <ns0>

これは私の情報源です:

        XmlWriterSettings settings = new XmlWriterSettings();
        settings.Indent = true;
        settings.IndentChars = "  ";
        settings.NewLineChars = "\r\n";
        settings.NewLineHandling = NewLineHandling.Replace;

        using (XmlWriter writer = XmlWriter.Create("employees.xml", settings))
        {
            writer.WriteStartDocument();
            writer.WriteStartElement("ns0"); 
            writer.WriteStartElement("Firstsection");

どうすれば取り除くことができますか:

    <?xml version="1.0" encoding="utf-8"?>

そして、どうすれば変更できますか:

     writer.WriteStartElement("ns0"); 

次のように出力できるようにするには:

    <ns0:NamespaceEnvelope xmlns:ns0="http://url.to.NamespaceEnvelope/v1.0">

このように:

    writer.WriteStartElement("ns0:NamespaceEnvelope xmlns:ns0="http://url.to.NamespaceEnvelope/v1.0"");

おそらく「http部分を囲んでいる」ために「)」を求めています。

どんな助けでも大歓迎です。

11
Giancarlo
XmlWriterSettings settings = new XmlWriterSettings();
settings.OmitXmlDeclaration = true;
21
Konstantin
 private string RemoveXmlDefinition(string xml)
 {
    XDocument xdoc = XDocument.Parse(xml);
    xdoc.Declaration = null;

    return xdoc.ToString();
 }
9