我得到一个带有XML的字符串变量,并且有一个XSD文件。我必须根据XSD文件验证字符串中的XML,并且知道有不止一种方法(XmlDocument、XmlReader、...?)。验证后我只需要存储XML,所以我不需要它在XDocument或XmlDocument中。如果我想要最快的性能,该怎么做? 最佳答案 其他人已经提到了用于执行验证的XmlReader类,我将不再详细说明。您的问题没有指定太多上下文。您将对多个xml文档重复执行此验证,还是只执行一次?我正在阅读一个场景,其中您只是验证大量xml文档(来自第三方系统?)并存储它们
如何验证XML文件在sh(最好)或bash中是否有效?我有一个文件经常损坏,需要在我花时间调查根本问题时更换。有没有使用sh或bash执行此任务的简单方法? 最佳答案 不直接与bash一起使用,但是xmllint相当广泛可用。xmllint--format"${xmlfile}"如果XML文件无效,这将以非零状态退出(提示:bash中的$?为您提供最后一个命令的退出代码)。 关于xml-如何验证xml文件在sh或bash中是否有效?,我们在StackOverflow上找到一个类似的问题:
我正在.NET中构建一个Web服务,它将通过XML来回传递数据。我想使用我定义的XSD验证传入请求中的XML。这是XSD:这是XML:12这是C#中的验证代码:staticvoidMain(string[]args){XmlSchemaSetiSchemas=newXmlSchemaSet();iSchemas.Add(string.Empty,@"...xsdfilelocation");XmlReaderSettingssettings=newXmlReaderSettings();settings.ValidationType=ValidationType.Schema;sett
我正在尝试使用外部DTD验证我的XML文件。但我每次都会收到此错误。Documentrootelement"A",mustmatchDOCTYPEroot"test".我想不通。我的xml文件的想法是它需要尽可能短。我认为这一切都很好,但就像我说的,我不会验证。有人有想法吗?这是我的XML文件namelastnamename还有我的DTD谢谢 最佳答案 文档类型声明根元素是但你用过要么更改Doctype,使其声明根目录为或更改XML和DTD以使用. 关于XML验证错误-根元素必须匹配文档
我有一个XSD文件和一个XML文件,如何检查XML是否像XSD文件一样处于正确的架构中?我知道XmlDocument类中有一个验证函数,但它需要一个事件处理程序我需要的只是真或假。附言我在VisualStudio2010中工作。 最佳答案 有一个更简单的方法:privatevoidValidationCallBack(objectsender,ValidationEventArgse){thrownewException();}publicboolvalidate(stringsxml){try{XmlDocumentxmld=ne
我想测试(真或假)任意XML文件是否与给定模式匹配。就其值(value)而言,该架构是Word2003WordML架构,Microsoft使用大约7个*.xsd文件的列表对其进行定义。其中一个文件还包含W3Cxml.xsd文件,方法是包含以下语句:我正在使用如下所示的.NET代码进行验证:publicstaticvoidvalidate(stringfilename){XmlReaderSettingssettings=newXmlReaderSettings();settings.Schemas.Add("http://schemas.microsoft.com/office/wor
我正在尝试根据我的XML模式验证我的XML文档。这是我的模式:这是我的XML文档:x现在,当我(通过Eclipse)验证文档时,我在第4行收到以下消息:cvc-complex-type.2.4.a:Invalidcontentwasfoundstartingwithelement'brand'.Oneof'{"":brand}'isexpected.此消息没有任何意义:(。而且很难(不可能?)谷歌解决方案。感谢您的帮助。 最佳答案 您的架构将“品牌”定义为不在命名空间中。这就是'{"":brand}'的意思。但是在您的XML文档中,
我有一个XML文件和一个XSD文件要验证。当我验证时,它显示以下错误。org.xml.sax.SAXParseException:src-element.3:Element'UC4'hasbotha'type'attributeanda'anonymoustype'child.Onlyoneoftheseisallowedforanelement.XML文件:JOB_NAMEXSD文件:可能是什么问题? 最佳答案 问题正是错误消息所说的地方:对于同一个元素,您不能同时拥有type="xs:string"和嵌套的complexType
您好,我有一些无法验证的XML。我已将问题缩小到这一点:document.getelementbyid("oxm-1f4a4485-5a1d-45f9-a989-9c65a0b9ceb6").src="http://bid.website.net/display?l=h4siaaaaaaaaad2nmq6cqbrenycw7qjyolfccxmregvcoae0u0sly_agtvaewwn4bg_havwbnebpvmzkkzra_kzzdvoloq4u-hjnp7sii0rxcbzz5vl5kxsrds6wtsfbxmcr9chysuhqbecuckb8cvx4m-pbcxugtd
我一直在寻找解决这个问题的方法太久了,考虑到它听起来很简单,所以我来寻求帮助。我有一个XML架构,我已将其与xjc一起使用来创建我的JAXB绑定(bind)。当XML格式正确时,这会很好地工作。不幸的是,当XML格式不正确时,它也不会提示。当我尝试解码XML文件时,我无法弄清楚如何针对模式进行正确的完整验证。我已经设法使用ValidationEventCollector来处理事件,它适用于XML解析错误,例如不匹配的标签,但在需要标签但完全不存在时不会引发任何事件。据我所知,可以针对模式进行验证,但您必须知道模式的路径才能将其传递给setSchema()方法。我遇到的问题是模式的路径存