未定义的实体和XML解析exception
我试图在声明中定义
non breaking space entity
。 代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" [ ] /> .. ....
但是当我从上面的文档创建一个XDocument对象时,我得到一个例外
Undefined entity  .
我做错了什么?
首先, "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" [ ]
的外部和内部实体的组合是不必要的,因为https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
包括www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent
,其中包括这与你的完全一样。
那个位应该只是:
其次,XDocument默认不对DTD进行validation。 但是,您可以使用适当的设置从XmlValidatingReader
或XmlTextReader
Load
如果可能的话, [如果不可能,那就让它成为可能!]将XmlReader设置为使用XmlPreloadedResolver
是一个好主意,因为有很多人在该DTD的URI和它包含的.ent文件中击中了糟糕的’W3C’,并且他们完全可以使用它的本地副本(“完全没问题”,我的意思是如果每个人都停止锤击他们的服务器,他们真的很高兴)。 除了对他们有益之外,它对你来说要快得多。
您可以尝试使用此实体
代替。
上述就是C#学习教程:未定义的实体和XML解析exception分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1028063.html