【发布时间】:2011-05-27 21:42:56
【问题描述】:
我需要验证一个包含 XML 数据的字符串,不需要模式验证。我需要做的就是确保 XML 格式正确且编码正确。例如,我希望我的代码将 XML 的这个 sn-p 标识为无效:
<?xml version="1.0" encoding="utf-8"?>
<parentNode> Positions1 ’</parentNode>
使用XMLDocument中的LoadXML方法不起作用,我在上面加载sn-p时没有抛出错误。
如果内容在 XML 文件中,我知道如何执行此操作,以下代码 sn-p 显示:
XmlReaderSettings readerSettings = new XmlReaderSettings();
readerSettings.ConformanceLevel = ConformanceLevel.Document;
readerSettings.CheckCharacters = true;
readerSettings.ValidationType = ValidationType.None;
xmlReader = XmlReader.Create(xmlFileName, readerSettings);
XmlDocument xdoc = new XmlDocument();
xdoc.Load(xmlReader);
除了创建一个临时文件来写出我的 xml 字符串内容,然后创建一个 XmlReader 实例来读取它,还有其他选择吗?如果有人能指导我解决这个问题的正确方向,不胜感激。
【问题讨论】:
-
sn-p 没有什么无效的,我只是在寻找将 xml 数据写入临时文件的替代方法。
标签: c# xml validation encoding xmldocument