2017-08-07 3 views
-1

非標準のXML要素: C#のするXMLWriter - 私は変更する必要があり、私はいくつかのXmlWriterコードを持って

XmlWriter messageWriter = XmlWriter.Create(strbuilder); 
messageWriter.WriteStartDocument(); 

//Add this line below 
messageWriter.???? (@"<!DOCTYPE message SYSTEM "work_request_20.dtd">"); 

messageWriter.WriteStartElement("message"); 
messageWriter.WriteAttributeString("message_id", id.ToString()); 
messageWriter.WriteAttributeString("message_dt", Lb.TestDate.ToString("MM/dd/yyyy hh:mm:ss.fff tt")); 

残念ながら、これまでのところ、関係なく、私がするXMLWriterに接続し使用した方法は、それが「<が好きません""> "または"! "文字。 StartElementなどを使用すると、私には "<>"が追加されます。

3つの文字をすべて取り出したら(<、>、!)、「状態文書のトークンテキスト=メッセージは無効なXML文書になります」と伝えます。

この作業を行う方法を教えてください。

ありがとうございました。

答えて

-1

私は必要な答えを見つけました。これは:xmlwriter.WriteRaw

これは特殊なケースであり、実際のXMLファイルではありませんが、基本的なXML形式です。しかし、この特殊なケースでは、私は非標準的なXMLを書く必要があり、 "WriteRaw"が必要なことをするように見えます。

+0

XMLかそうでないかのどちらかです。非標準のプラクティスを使い始めると、他のシステムやアプリケーションとの相互運用性に問題があることがわかります。 – Neil

1

希望するWriteDocType。以下のように使用:

messageWriter.WriteDocType("message", null, "work_request_20.dtd", null); 

はデモ用のthis fiddleを参照してください。

関連する問題