私はその中で読んでいるxmlファイルを持っているが、このような形式は次のとおりです。XDocument:値を要素タグとは別の行に出力するように出力をフォーマットするにはどうすればよいですか?
XDocument xDoc = new XDocument();
xDoc = XDocument.Load(@"C:\MyCode\CONFIGURATION_1NS.xml");
、すぐに同じようにそれを行うライトバック:
<?xml version="1.0" encoding="utf-8"?>
<Screen_Monitoring>
<Interval>
0.05
</Interval>
<sendCommand>
<![CDATA[01 30 41 30 41 30 36 02 30 31 44 36 03]]>
</sendCommand>
</Screen_Monitoring>
私はそうのようなXDocumentオブジェクトにXMLファイルを読み込みますそう:
XmlWriterSettings settings = new XmlWriterSettings
{
Indent = true,
IndentChars = " ",
NewLineChars = "\r\n",
NewLineHandling = NewLineHandling.Replace
};
using (XmlWriter writer = XmlWriter.Create(@"C:\MyCode\Config_saved.xml", settings))
{
xDoc.WriteTo(writer);
}
sendCommand素子がオンsendCommandタグの間の値を有するように、入力ファイルの内容と一致しない出力タグと同じ行、よう:
<?xml version="1.0" encoding="utf-8"?>
<Screen_Monitoring>
<Interval>
0.05
</Interval>
<sendCommand><![CDATA[01 30 41 30 41 30 36 02 30 31 44 36 03]]></sendCommand>
</Screen_Monitoring>
残念ながら、私は、XML自体は完全に有効ですが、それは望んでどのようにフォーマットされていない場合は正常に動作しないことがプログラムの出力XMLを生成する必要があるのです。要素タグとは別の行に値が書式設定されるようにXMLを書き出す簡単な方法はありますか?
は、ある種のカスタムパーサーを使用しているプログラム(消費者)です:?新しい
XDocument
はすぐに捨てているようさておき、あなたは、この行を削除することができますようほとんどのXMLパーサー(私の経験では少なくとも)は、こうした種類の書式設定の問題には関心がありません。 – Tim
ティム、私が言うことができるのは、おそらく誰かが望むように動作しないカスタムパーサーを使用しているということだけです。私たちは過去に、このクライアントが期待どおりにフォーマットされていないXMLファイルを使用しているという問題を抱えていました。 – Imbajoe
私はここに答えがあると思います:http://stackoverflow.com/questions/7485037/xdocument-text-node-new-line – Haytam