3

私は XML を編集するのが初めてで、私が直面している問題についていくつか質問があります。

最初: 各 の後に新しい行を追加するにはどうすればよいですかwriter.WriteEndElement();。使用例を見つけましwriter.WriteWhitespace("\n");たが、新しい行を作成していないようです。

2番目:前の問題のためにこれは何もしていない可能性があると思いますが、最後にこれを使用してコードをインデントしたかったのwriter.Formatting = Formatting.Indented;ですが、何もしていないようです(おそらく改行がないため)。

3 番目: これを前のファイルに追加しているので、メインの親の終了タグを取り除いて、この新しいデータを追加できるようにしました。最終タグを閉じるだけでいいのにと思っていましたwriter.WriteEndElement();が、書いているときに開始タグを作成していないので、開いているタグがあることに気付いていないようです。これを行う良い方法はありますか、それとも</closingTagName>ファイルの最後に記述するコードで終了する必要がありますか。

コメントや提案は大歓迎です。

4

1 に答える 1

2

これを試して:

using (var stringWriter = new StringWriter())
using (var writer = new XmlTextWriter(stringWriter))
{
    writer.WriteRaw("</closingTagName>");

    writer.Formatting = Formatting.Indented;
    writer.Indentation = 10;
    writer.WriteStartElement("Element1");

    writer.WriteStartElement("Element2");
    writer.WriteString("test");
    writer.WriteEndElement();

    writer.WriteEndElement();

    writer.WriteWhitespace(Environment.NewLine);

    writer.WriteStartElement("Element3");
    writer.WriteEndElement();

    var result = stringWriter.ToString();

結果:

</closingTagName>  -- Closing tag
<Element1>
          <Element2>test</Element2>  -- Line with the ident 10.
</Element1>
              -- extra new line
<Element3 />
于 2011-06-27T04:14:59.157 に答える