Tag: xml validation

XmlDocument.Validate不会因多个错误而触发

我正在尝试针对现有的XmlSchemaSetvalidation传入的输入xmlDocument。 以下是代码: public class ValidateSchemas { private bool _isValid = true; public List errorList = new List(); public bool ValidateDocument(XmlDocument businessDocument) { XmlSchemaSet schemaSet = SchemaLoader.Loader(); bool isValid = Validate(businessDocument, SchemaLoader._schemaSet); return isValid; } public bool Validate(XmlDocument document, XmlSchemaSet schema) { ValidationEventHandler eventHandler = new ValidationEventHandler(HandleValidationError); document.Schemas = schema; document.Validate(eventHandler); return _isValid; } private void […]

使用DTDvalidation – 强制关闭连接

我正在validation文档中带有DTD的文档,该文档不在我的机器上,它存储在互联网上。 我目前收到以下exception System.Xml.XmlException: An error has occurred while opening external DTD ‘http://xml.cxml.org/schemas/cXML/1.2.020/cXML.dtd’: Unable to connect to the remote server —> System.Net.WebException: Unable to connect to the remote server —> System.Net.Sockets.SocketException: An existing connection was forcibly closed by the remote host 216.109.104.11:80 at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress) at System.Net.Sockets.Socket.InternalConnect(EndPoint remoteEP) at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket […]

在C#中单次读取和validationXML与引用的XSD

我正在尝试从XML文件中读取数据,并根据它建议的XSD将其validation到单个数据结构(例如XmlDocument)中。 我有一个解决方案,但它需要2次通过文件,我想知道是否有单程解决方案。 MyBooks.xml: Book A Book B Books.xsd: 假设MyBooks.xml和Books.xsd位于同一目录中。 validation: //Given a filename pointing to the XML file var settings = new XmlReaderSettings(); settings.ValidationType = ValidationType.Schema; settings.ValidationFlags |= XmlSchemaValidationFlags.ProcessInlineSchema; settings.ValidationFlags |= XmlSchemaValidationFlags.ProcessSchemaLocation; settings.ValidationFlags |= XmlSchemaValidationFlags.ReportValidationWarnings; settings.CloseInput = true; settings.ValidationEventHandler += new ValidationEventHandler(ValidationCB); //eg: //private static void ValidationCB(object sender, ValidationEventArgs args) //{ throw new ApplicationException(args.Message); } […]

未声明XML签名元素

我使用Visual StudioXML工具创建了XSD。 我使用以下C#代码来validationXML并面临此错误。 错误 该元素未声明为“ http://www.w3.org/2000/09/xmldsig#:Signature ”。 所以我的问题是如何解决它,因为在编辑模式下,XML有效100%? 谢谢! C# private void buttonValidateXML_Click(object sender, EventArgs e) { try { bool result = IsValidXml2(textBoxSignedXML.Text, textBoxXSDFile.Text, “”); rtbValidationResult.Text = result.ToString(); } catch (Exception ex) { rtbValidationResult.Text = ex.Message; } } public static bool IsValidXml2(string xmlFilePath, string xsdFilePath, string namespaceName) { var xdoc = XDocument.Load(xmlFilePath); var schemas = […]

如何validationXML文档?

我的C#/ .NET应用程序读取由用户手动编辑的XML文件。 应用程序的文档中描述了允许的元素和标记。 我正在使用LINQ从XML文件中提取数据。 在从XML文件中提取数据之前,我想validation它是否具有预期的结构。 如果没有,那么获得有关错误的信息会很好,这样我就可以给用户一些回馈。 在C#中最简单的方法是什么?

可以在运行时使用代码对xsdvalidationxml吗?

我有运行时读入的xml文件,是否可以在运行时针对xsd文件validationxml? 使用c#

开始使用.NET进行XSDvalidation

这是我第一次使用XSDvalidationXML。 要validation的XML文件: SampleVariant LegendaryMode AmazingMode XSD,位于“Schemas / config.xsd”中,相对于要validation的XML文件: 现在,我只想准确地validation当前出现的XML文件。 一旦我更好地理解了这一点,我将进一步扩展。 对于像XML文件一样简单的东西,我真的需要这么多行吗? C#中的validation码: public void SetURI(string uri) { XElement toValidate = XElement.Load(Path.Combine(PATH_TO_DATA_DIR, uri) + “.xml”); // begin confusion // exception here string schemaURI = toValidate.Attributes(“xmlns”).First().ToString() + toValidate.Attributes(“xsi:noNamespaceSchemaLocation”).First().ToString(); XmlSchemaSet schemas = new XmlSchemaSet(); schemas.Add(null, schemaURI); XDocument toValidateDoc = new XDocument(toValidate); toValidateDoc.Validate(schemas, null); // end confusion root = […]

validationxml节点,而不是整个文档

我正在使用一些xml’片段’,它们在xml中形成元素。 我有架构,但我无法validation这些文件,因为它们不是完整的xml文档。 这些片段用必要的父元素包装,以便在其他工具中使用时形成有效的xml,因此我没有太多选择将它们变为有效的xml或更改模式。 是否可以validation元素,而不是整个文档? 如果没有,可以提出哪些变通方法? 我正在使用.NET 2.0框架在C#中工作。