在调用.LoadXml()之前检查字符串输入中的有效XML,可以使用以下方法:
可以使用XmlReader类的Create()方法创建一个XmlReader实例,并将其传递给XmlDocument的Load()方法。这样,在加载XML文档之前,会自动进行XML的格式验证。
示例代码:
string xmlString = "<root><child>text</child></root>";
XmlReader reader = XmlReader.Create(new StringReader(xmlString));
XmlDocument doc = new XmlDocument();
doc.Load(reader);
可以使用XmlDocument类的Validate()方法来验证XML文档的有效性。在调用.LoadXml()之前,可以先调用Validate()方法进行验证。
示例代码:
string xmlString = "<root><child>text</child></root>";
XmlDocument doc = new XmlDocument();
doc.LoadXml(xmlString);
doc.Validate(null);
可以使用XDocument类的Parse()方法来验证XML文档的有效性。在调用.Load()之前,可以先调用Parse()方法进行验证。
示例代码:
string xmlString = "<root><child>text</child></root>";
XDocument doc = XDocument.Parse(xmlString);
可以使用XmlSchema类来验证XML文档的有效性。首先,需要创建一个XmlSchemaSet实例,并将XML文档的XSD模式添加到其中。然后,使用XmlSchemaSet的Compile()方法进行编译,并使用XmlReaderSettings类的Schemas属性将其与XML文档关联。最后,使用XmlReader类的Create()方法创建一个XmlReader实例,并将其传递给XmlDocument的Load()方法。
示例代码:
string xmlString = "<root><child>text</child></root>";
string xsdString = "<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'><xs:element name='root'><xs:complexType><xs:sequence><xs:element name='child' type='xs:string'/></xs:sequence></xs:complexType></xs:element></xs:schema>";
XmlSchemaSet schemaSet = new XmlSchemaSet();
schemaSet.Add("", XmlReader.Create(new StringReader(xsdString)));
XmlReaderSettings settings = new XmlReaderSettings();
settings.Schemas.Add(schemaSet);
settings.ValidationType = ValidationType.Schema;
XmlReader reader = XmlReader.Create(new StringReader(xmlString), settings);
XmlDocument doc = new XmlDocument();
doc.Load(reader);
以上是几种常用的方法,可以根据实际情况选择适合的方法进行XML文档的有效性验证。
领取专属 10元无门槛券
手把手带您无忧上云