如何解析不是 100% 有效的 XHTML 文件?
我有 XHTML 文件,其来源不完全有效,它不遵循 XML 文档的 DTD。
就像有些地方对于 "
使用 &Idquo;
或对于撇号它使用 ’
。这会导致我的 C# 出现异常那么
有什么方法或任何网络链接可以用来摆脱这个问题吗?
I have XHTML files whose source is not completely valid, it does not follow the DTD of an XML document.
Like there are places where for "
it uses &Idquo;
or for apostrophes it uses ’
. This causes exceptions in my C# code.
So is there any method or any weblink that i can use to get rid of this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
如果文件格式良好,您可以在自己的 DTD 中定义字符实体。
如果文件格式不正确,CodePlex 中的 HTML Agility Pack 将对其进行解析。
If the file is otherwise well-formed you can define the character entities in your own DTD.
If the file is ill-formed the HTML Agility Pack from CodePlex will parse it.
您可以将文档 解析为 HTML,因为它们最终都会以 DOM 和 HTML 形式出现解析器嘲笑这些三色堇引号问题。 按照unknown 的 HTML Tidy 想法,您可以将 DOM 序列化回有效的 XHTML 文件。 (这与使用 HTML Tidy 相同,无论如何都可能使用 HTML 解析器,除非您通过 C# 编程来执行此操作。)
You could parse the document as HTML instead since they both end up in a DOM and HTML parsers scoff at these pansy quotation mark problems. Going along with unknown's HTML Tidy idea, you could then serialize the DOM back into a valid XHTML file. (This is identical to using HTML Tidy, wihch presumably uses an HTML parser anyway, except you'd do it from C# programatically.)
根据 XML 的本质,它必须是有效的,否则它根本无法呈现。 我首先会看看 W3C 的验证器 http://validator.w3.org/
还可以考虑使用 HTML tidy,它也可以配置为修复 XML。
我们使用 hpricot 来修复 XML,但我们再次构建 Rails 应用程序。 不确定 C#
Well by the nature of XML it needs to be valid otherwise it won't render at all. I'd first see what type of errors it generates with W3C's validator http://validator.w3.org/
Also consider using HTML tidy, which can be configured to fix XML as well.
We use hpricot to fix our XML, but then again we are building rails apps. Not sure about C#