我正在使用 c# .Net
我有一个问题,
我正在使用 XDocument.xDoc.Load(file)
加载 Xml 文件,但它失败了,因为在我的内容中我也有 xml 标签:
示例:<root><abc><deg></abc></root>
我的问题是 Load
函数处理 <deg>
作为没有匹配“</deg>
”的 Xml 标记...
我的问题是,如何以最简单的方式将“deg”的“<”和“>”替换为匹配的“<
”“>
”?
注意我的文件很大而且我有很多标签...
谢谢!
最佳答案
您尝试做的事情很难用标准 .NET 库完成,除非您想进行大量困难的解析。如果您的未结束标签有任何押韵或理由,那将大有帮助。例如,是否有一个已知的未关闭标签列表?如果是这样,搜索和替换就不错了。
但是,如果它真的是开放式的,如果可以打开任何 标签,那么您需要使用类似HTML Tidy 的东西。 .这个的 .Net 包装器可以是 found here .有了这个解决方案,<deg>
标记将转换为 <deg/>
. HTML Tidy 包装器还可以修复导致 xml 格式错误的其他一些问题。
一旦您的文件包含格式正确的 xml,您就可以轻松地将其加载到 xml 对象中。然后,如果您在文档上还有其他工作要做,您至少能够看到它作为 xml。
关于c# - 用 html 值替换 xml 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2097998/