禁用对XML的实体引用

Dra*_*kar 0 .net c# xml xmldocument

我目前正在研究必须从XML流中读取数据的程序,有时可能包含"&"符号

即:

<XMLRoot>
    <Element>
        <Node>
            This is a dummy data&more!
        </Node>
    </Element>
</XMLRoot>
Run Code Online (Sandbox Code Playgroud)

当我解析这个文本时,我收到一条错误消息,告诉我'对未声明实体的引用'.

有没有办法用C#的XMLParser删除"实体检查"?

Bad*_*aro 5

我认为问题是您发布的XML是格式错误的XML,"&"是XML中的保留字符,需要转义或封装在CDATA部分中:

<XMLRoot>
<Element>
    <Node>
        This is a dummy data&amp;more!
    </Node>
</Element>
</XMLRoot>
Run Code Online (Sandbox Code Playgroud)

要么:

<XMLRoot>
<Element>
    <Node>
        <![CDATA[ This is a dummy data&more! ]]>
    </Node>
</Element>
</XMLRoot>
Run Code Online (Sandbox Code Playgroud)