1

VB.netのXmlTextWriterを使用してXMLファイルにデータを書き込んでいます

xmlwriterを起動するコードは次のとおりです。

 Dim XMLobj As Xml.XmlTextWriter
 Dim enc As System.Text.Encoding
 enc = System.Text.Encoding.GetEncoding("ISO-8859-1")
 XMLobj = New Xml.XmlTextWriter("C:\filename.xml", enc)

XMLファイルの最初の行にparam="on"を追加することは可能ですか?次のようになります。

<?xml version="1.0" encoding="ISO-8859-1" param="on"?>

次の質問はばかげた質問かもしれません:)しかし、私はそれを理解することができません。次のように、XMLファイルにDoctypeを追加しようとしています。

<!DOCTYPE Test SYSTEM "test/my.dtd">

ただし、これを設定しようとすると、いくつかのエラーが発生します。

XMLobj.WriteDocType("Test", null, "test/my.dtd", null)

私が得るエラーは次のとおりです。

'null' is not declared. 'Null' constant is no longer supported; use 'System.DBNull' instead.

ただし、nullをSystem.DBNullに置き換えようとすると、次のエラーが発生します。

'DBNull' is a type in 'System' and cannot be used as an expression.

doctypedefの結果は次のようになります。

<!DOCTYPE Test SYSTEM "test/my.dtd">

よろしくお願いします!

4

2 に答える 2

3

質問1:

あなたがやろうとしているように見えるのは、XMLファイルに「処理命令」を追加することです。処理命令(PI)は、で始まり、"<?"で終わるアプリケーション固有の情報をエンコードするタグです"?>"

XMLファイルにPIを追加するには、クラスのWriteProcessingInstructionメソッドを使用する必要があります。XmlTextWriterすべてのPIには、ターゲットと値の2つの部分があり、これらはWriteProcessingInstructionメソッドによって受け入れられる2つのパラメーターです。

したがって、あなたの場合、処理命令を追加するために次のコードを記述します。

XMLobj.WriteProcessingInstruction("xml", "version=""1.0"" encoding=""ISO-8859-1"" param=""on""")

これは以下を生成します:

<?xml version="1.0" encoding="ISO-8859-1" param="on"?>


質問2:

C#に相当するVB.NETnullNothingです。このキーワードは、値型のデフォルト値、または参照型のnull値を指定します。

System.DBNullデータベースを扱っている場合を除いて、使用しないでください。DBNull初期化されていないバリアントまたは存在しないデータベース列を表します。またはと同等ではありませNothingnull。私はあなたが受け取る最初のエラーメッセージがせいぜい混乱していることに同意します。

したがって、代わりに、DocTypeをXMLファイルに書き込む行は次のようになります。

XMLobj.WriteDocType("Test",  Nothing, "test/my.dtd", Nothing)

これは以下を生成します:

<!DOCTYPE Test SYSTEM "test/my.dtd">
于 2010-11-21T02:17:42.760 に答える
1

「null」についての回答があります-VB.netでは「Nothing」と呼ばれています

于 2010-11-21T01:26:39.463 に答える