承接前文,本篇深入介紹 XmlWriter 的核心寫入方法與實際操作技巧。
多載形式:
WriteElementString(string localName, string value)
WriteElementString(string localName, string ns, string value)
範例:
// 輸出:Some text
WriteElementString("para", "Some text");
// 輸出:Some text
WriteElementString("para", "https://www.w3.org/ns", "Some text");
巢狀元素請使用 WriteStartElement / WriteEndElement;單層含值元素建議用 WriteElementString。
屬性值不含實體時直接使用;含實體時需用 WriteStartAttribute / WriteEndAttribute 配合 WriteString、WriteCharEntity。
範例:輸出 `
WriteStartElement("para");
WriteStartAttribute("author", null);
WriteString("Do");
WriteCharEntity("ñ"); // ñ
WriteString("a");
WriteCharEntity("&"); // &
WriteString("L.Perez");
WriteEndAttribute();
WriteEndElement();
多載:
WriteAttributeString(string localName, string value)
WriteAttributeString(string localName, string ns, string value)
WriteAttributeString(string prefix, string localName, string ns, string value)
WriteNode(XmlReader reader, bool defattr)
範例:複製 `
while (reader.Read())
{
if (reader.Name == "sent" && reader.NodeType == XmlNodeType.Element)
{
writer.WriteNode(reader, true); // true = 複製屬性
}
}
WriteComment(string):寫入註解WriteString(string):寫入文字內容WriteCData(string):寫入 CDATA 區塊WriteBase64(byte[], int, int):二進位編碼為 Base64 並寫入Flush():清空緩衝區至基底資料流Close():關閉寫入器與基底資料流