[英]Casting from System.XmlWriter to System.XmlTextWriter
如何在C#中將XmlWriter轉換為XmlTextWriter?
謝謝
XmlTextWriter繼承了XmlWriter的子類,因此,如果您的XmlWriter確實是XmlTextWriter,則可以將其像其他任何類型一樣進行轉換。 如果您的XmlWriter是XmlWriter的任何其他子類,則強制轉換將失敗。
您可以檢查類型,然后進行投射
if (xmlWriter is XmlTextWriter)
{
XmlTextWriter xmlTextWriter = (XmlTextWriter)xmlWriter;
// add code here
}
或者,您可以使用as
嘗試一下,然后查看是否可行。
XmlTextWriter xmlTextWriter = xmlWriter as XmlTextWriter;
if (null != xmlTextWriter)
{
// add code here
}
XmlTextWriter
從XmlWriter
繼承。 因此,除非您擁有的XmlWriter
是XmlTextWriter
,否則您將無法以這種方式進行轉換。 你可以做
var textWriter = xmlWriter as XmlTextWriter;
if (textWriter != null)
{
...
}
為什么不實例化XmlTextWriter
呢?
與執行其他任何強制類型轉換的方式相同(假設您的實例實際上是XmlTextWriter)。
以下情況適用:
using System;
using System.Xml;
class Test
{
static void Main(string[] args)
{
XmlWriter xmlWriter = XmlWriter.Create("MyXml.xml");
XmlTextWriter xmlTextWriter = xmlWriter as XmlTextWriter;
if(xmlTextWriter != null)
{
//perform operations here...
}
}
}
您應該注意,他們建議使用XmlWriter.Create創建XmlWriter實例。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.