0

私は現在、「&」記号が含まれている可能性のある XML ストリームからデータを読み取る必要があるプログラムに取り組んでいます。

すなわち:

<XMLRoot>
    <Element>
        <Node>
            This is a dummy data&more!
        </Node>
    </Element>
</XMLRoot>

このテキストを解析すると、「宣言されていないエンティティへの参照」というエラー メッセージが表示されます。

C# の XMLParser で「エンティティ チェック」を削除する方法はありますか?

4

1 に答える 1

5

問題は、投稿した XML が不正な形式の XML であり、「&」が XML の予約文字であり、エスケープするか、CDATA セクションで囲む必要があることだと思います。

<XMLRoot>
<Element>
    <Node>
        This is a dummy data&amp;more!
    </Node>
</Element>
</XMLRoot>

または:

<XMLRoot>
<Element>
    <Node>
        <![CDATA[ This is a dummy data&more! ]]>
    </Node>
</Element>
</XMLRoot>
于 2009-06-04T02:34:40.500 に答える