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# 獲取某個(gè)時(shí)間的0點(diǎn)0分和23點(diǎn)59分59秒
這篇文章主要介紹了C# 獲取某個(gè)時(shí)間的0點(diǎn)0分和23點(diǎn)59分59秒,文中給大家提到了java 獲取某一日期的0點(diǎn)0分0秒和23點(diǎn)59分59秒,需要的朋友可以參考下2019-09-09
基于C#實(shí)現(xiàn)PDF轉(zhuǎn)HTML并自定義轉(zhuǎn)換選項(xiàng)
在數(shù)字化辦公場景中,PDF與HTML的互操作需求日益增長,如何在 C# 生態(tài)中實(shí)現(xiàn)PDF 轉(zhuǎn) HTML 的高保真轉(zhuǎn)換是開始過程中常見的問題,下面我們就來看看具體實(shí)現(xiàn)方法吧2025-09-09
C#動(dòng)態(tài)生成實(shí)體類的5種方法詳解與實(shí)戰(zhàn)演示
這篇文章主要為大家詳細(xì)介紹了C#中動(dòng)態(tài)生成實(shí)體類的5種實(shí)用方法,涵蓋T4模板,CodeDOM,Roslyn,反射和Emit等技術(shù),有需要的小伙伴可以跟隨小編一起學(xué)習(xí)一下2025-04-04
在unity腳本中控制Inspector面板的參數(shù)操作
這篇文章主要介紹了在unity腳本中控制Inspector面板的參數(shù)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-04-04

