我需要根据模式验证XML文件。XML文件是在代码中生成的,在我保存它之前我需要验证它是正确的。我已将问题简化为最基本的元素,但我遇到了问题。XML:MRIDDemo12341/1/2005架构:ValidationCode:(此代码来self编写的一个简单应用程序,用于测试验证逻辑。XML和XSD文件存储在磁盘上并从那里读取。在实际应用程序中,XML文件已经在内存中作为XmlDocument对象,XSD将从内部网络服务器读取。)privatevoidValidate(){XmlReaderSettingssettings=newXmlReaderSettings();settings.
我从注释处理器中的Java注释中获取一些值以生成元数据。其中一些值应该指示XML元素或属性名称。根据XML规范,我想验证输入以确定提供的值是否实际上是合法的NCName。在这种情况下只有本地名称很重要,命名空间URI在这里不起作用。是否有一些简单的方法可以查明字符串是否是合法的XML元素或属性名称?我最好使用一些在JavaSE中很容易获得的XMLAPI。我首先做这些事情的原因之一是减少依赖性。我使用的是JDK7,所以我可以访问最新的类/方法。到目前为止,浏览内容处理程序类和SAX/DOM内容没有产生任何结果。 最佳答案 如果您准备好
我正在尝试将schematron验证添加到我的xsd。这是我的新xsd:xmlns:sch="http://www.ascc.net/xml/schematron"elementFormDefault="qualified">;PEverybookthatisonloanmusthaveareturndate这是我的测试xml:idantitleidanauthoridandate使用我提供的xml,我没有收到验证错误。我假设我会收到消息“每本借出的书都必须有归还日期”并且xml将无效。关于为什么的建议?更新我确实设法通过在oXygenxml编辑器中使用schematron验证使
我有一个schema.xsd,它包括和修改xhtml,如下所示:...现在我已经写了一个Validator,它从xml文件中读取模式使用CatalogManager来解析实体它工作正常,因为它不从网络加载任何文件,而是查找我的catalog.xml文件中给出的xhtml11.xsd。publicclassXmlTemplateValidatorimplementsTemplateValidator{publicListvalidate(Stringxml)throwsException{Readerinput=newStringReader(xml);InputSourceinputS
我有一个像这样的不错的XML文件:Boomerang-Errorcodes.xlsxBoomerang-ErrorcodesThisistheBoomerangerrorcodesfileExcelBoomerang14IssueTrackerv5.xlsxThisistheissuetrackerforSkipstoneExcelSkipstone14然后我有我这样创建的模式:据我所知,xml文件无效,因为第一个元素是Asset而不是Asset,但是如果我运行我的C#代码:XmlSchemaSetschemas=newXmlSchemaSet();schemas.Add("http:
我使用Java(6)XML-Api对来自网络的html文档应用xslt转换。该文档是格式良好的xhtml,因此包含有效的DTD-Spec()。现在出现了一个问题:XSLT处理器尝试下载DTD,而w3服务器通过HTTP503错误(由于w3的BandwithLimitation)拒绝了这一点。如何防止XSLT处理器下载dtd?我不需要验证我的输入文档。来源是:importjavax.xml.transform.Source;importjavax.xml.transform.Transformer;importjavax.xml.transform.TransformerFactory;i
我有一个XSD可以验证我的XML文件。问题是它适用于一个元素,但是当我有多个元素时它不起作用,我找不到问题所在。这是我的XML文件:https://www.youtube.com/watch?v=ke92CDVQsb872http://short.ly:8080/SOB/url/8322612http://moodle.urv.cat/moodle/pluginfil73http://short.ly:8080/SOB/url/45ea9b1这是我的XSD文件: 最佳答案 在中在里面,如果您没有明确指定maxOccurs属性,它默认
是否有任何内置的东西来确定XML文件是否有效。一种方法是读取整个内容并验证该字符串是否表示有效的XML内容。即便如此,如何确定字符串是否包含有效的XML数据。 最佳答案 使用XML在StringReader周围创建一个XmlReader并通过阅读器读取:using(varreader=XmlReader.Create(something))while(reader.Read());如果您没有得到任何异常,则XML格式正确。与XDocument或XmlDocument不同,它不会在内存中保存整个DOM树,因此即使在非常大的XML文件上
我正在解析来自第三方提供商的一些XML文件,不幸的是,它并不总是格式正确的XML,因为有时某些元素包含重复的属性。我无法控制源,我不知道哪些元素可能有重复的属性,也不知道重复的属性名称。显然,将内容加载到XMLDocument对象会在重复的属性上引发XmlException,因此我虽然可以使用XmlReader逐个元素地遍历XML,并且当我到达有问题的元素时处理重复的属性。但是,XmlException是在reader.Read()上引发的-在我有机会检查元素的属性之前。下面是演示该问题的示例方法:publicstaticvoidParseTest(){conststringxmlSt
我正在开发一种工具来帮助用户编写XHTML风格的文档,这些文档在本质上类似于JSP文件。这些文档是XML,可以包含XHTML命名空间中任何格式正确的标记,并且在它们之间编织的是来self的产品命名空间的元素。除其他事项外,该工具使用XSD验证输入。示例输入:Thisisatest!clickhereformore!我的问题是XSD验证的行为并不一致,具体取决于我嵌套元素的深度。我想要的是https://my_tag_lib.example.com/中的所有元素要对照模式检查命名空间,而命名空间中的任何元素http://www.w3.org/1999/xhtml被宽容地容忍。我不想列出我