C#從XmlDocument提取完整字符串的方法
方法1:通過XmlDocument
的OuterXml
屬性,見XmlDocument類
該方法獲得的xml字符串是不帶格式的,可讀性差
方法2:利用XmlWriterSettings
控制格式等一系列參數(shù),見XmlWriterSettings類
例子:
using System.IO; using System.Text; using System.Xml; ... XmlDocument doc = new XmlDocument(); doc.LoadXml("<item><name>wrench</name></item>"); // 使用XmlWriterSettings來控制格式化輸出 XmlWriterSettings settings = new XmlWriterSettings { Encoding = Encoding.UTF8, Indent = true, IndentChars = " ", // 設(shè)置縮進(jìn)字符和大小 NewLineChars = "\r\n" // 設(shè)置換行符 }; using (StringWriter textWriter = new StringWriter()) { using (XmlWriter xmlWriter = XmlWriter.Create(textWriter, settings)) { doc.Save(xmlWriter); // 將XML寫入StringWriter } string xmlString = textWriter.ToString(); // 獲取字符串 Console.WriteLine(xmlString); }
通過StringWriter
作為輸出流有一個(gè)弊端,它默認(rèn)按照UTF16編碼,無法更改,譬如上面的XmlWriterSettings指定了UTF8但實(shí)際得到的字符串仍然是UTF16的
改用MemoryStream
作為流可以自定義編碼,如下:
using (MemoryStream ms = new MemoryStream()) { using (XmlWriter xmlWriter = XmlWriter.Create(ms, settings)) { doc.Save(xmlWriter); // 將XML寫入MemoryStream } string xmlString = Encoding.UTF8.GetString(ms.ToArray()); // 獲取字符串 Console.WriteLine(xmlString); }
到此這篇關(guān)于C#從XmlDocument提取完整字符串的方法的文章就介紹到這了,更多相關(guān)C# XmlDocument提取字符串內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C#編程實(shí)現(xiàn)查看剪切板內(nèi)容的方法
這篇文章主要介紹了C#編程實(shí)現(xiàn)查看剪切板內(nèi)容的方法,涉及C#針對(duì)剪切板操作的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-11-11C#程序中創(chuàng)建、復(fù)制、移動(dòng)、刪除文件或文件夾的示例
這篇文章主要介紹了C#程序中創(chuàng)建、復(fù)制、移動(dòng)、刪除文件或文件夾的示例,即對(duì)System.IO命名空間中類的運(yùn)用,需要的朋友可以參考下2016-02-02C#實(shí)現(xiàn)DevExpress本地化實(shí)例詳解
這篇文章主要介紹了C#實(shí)現(xiàn)DevExpress本地化,以實(shí)例形式較為詳細(xì)的分析了DevExpress本地化的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-08-08無法從 int? 轉(zhuǎn)換為 int 運(yùn)行時(shí)出現(xiàn)錯(cuò)誤
無法從"int?"轉(zhuǎn)換為"int" ,在運(yùn)行時(shí)會(huì)出現(xiàn)錯(cuò)誤,通過強(qiáng)制類型轉(zhuǎn)換(int)便可解決2014-05-05DirectInfo.GetFiles返回?cái)?shù)組的默認(rèn)排序示例
這篇文章主要介紹了,DirectInfo.GetFiles返回?cái)?shù)組的默認(rèn)排序示例NTFS和CDFS下,是按照字母順序,而FAT下,按照文件創(chuàng)建時(shí)間順序2014-01-01C# 實(shí)現(xiàn)WebSocket服務(wù)端教程
這篇文章主要介紹了C# 實(shí)現(xiàn)WebSocket服務(wù)端教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-10-10DevExpress獲取節(jié)點(diǎn)下可視區(qū)域子節(jié)點(diǎn)集合的實(shí)現(xiàn)方法
這篇文章主要介紹了DevExpress獲取節(jié)點(diǎn)下可視區(qū)域子節(jié)點(diǎn)集合的實(shí)現(xiàn)方法,是C#程序設(shè)計(jì)中較為常見的技巧,需要的朋友可以參考下2014-08-08