2009-11-24 43 views
1

我有類似的問題,如XML indenting when injecting an XML string into an XmlWriterXmlWriter.WriteRaw縮進

我還使用XmlWriter.WriteRaw將XML片段輸出到xml節點中。這個文件片段不遵循這個很好的標識。上面的帖子給出的答案對於XML片段不起作用。那麼,我可以用XmlReader來讀取片段,但WriteNode不適用於文檔片段(請參閱http://msdn.microsoft.com/en-us/library/1wd6aw1b.aspx)。

有關如何作弊以獲得正確縮進的提示?

感謝任何提示

回答

0

你可以在包含您的XML片段存儲構建一個有效的XML的文檔。然後用XmlReader(例如使用MemoryStream)讀取此文檔,並讓XmlWriter寫入縮進xml。

更快的方法將通過操縱字符串自己縮進xml。搜索<,增加嵌套級別並添加縮進空格。如果您發現</或自閉標記減少嵌套層次,並附加\n

我不認爲這是一個快速很好的解決你的問題,但我可能是錯的...

+0

我不認爲有一個很好的解決方案。如果有的話,現在有人會找到它。但是當你提供可能性時,我接受你的答案。縮進完全沒有功能,所以它只是爲了可讀性。我在寫文檔後想到了使用xsl轉換。有關可能的轉換,請參閱http://social.msdn.microsoft.com/Forums/en/msxml/thread/61f88cf8-c019-423b-9a88-a065a4b0566d。 – Scoregraphic 2009-12-15 07:20:52