0 0

schema 校验获取出错的xml节点5

我们的项目中采用javax的xml   Validator来做基于schema的xml校验,校验通过会返回true,校验不通过会将错误信息封装在一个VO集合中,该集合中的每一个VO会包含出错的xml行号,列号以及错误信息,校验的ValidateErrorHandler通过继承javax的ErrorHandler来实现。
 
现在有个问题,如果校验出错,定位到的xml源文件的行号和列号是用户不关心的,他们关心的是在哪个xml节点,节点的那个属性出错,这样他们可以通过前台的xml树编辑页面直接修改。
 
看了一下javax的ContentHandler,他能够做到在校验每一个Elment时获取该Elment的属性、命名空间等,但是如何能在ContentHanler中捕捉到校验错误时的节点信息,现在没有想到好的办法,主要是需要ErrorHandler和ContentHandler的联动
 
大家有没有好的方法?我现在想到的方法是在我们自己封装的ErrorHandler中把ContentHandler作成成员变量,然后在出错时获取ContentHandler的Elment的数据,但是ContentHandler的校验Element如何保存,放到一个静态类中么?
 
大家踊跃讨论一下吧,我觉得最近CSDN越来越冷清了,还是多交流,多讨论的好啊!
2012年5月03日 22:46

1个答案 按时间排序 按投票排序

0 0

LZ,你这个问题解决了么?能否指点一下,谢谢

2017年9月22日 10:11

相关推荐

    schema_xml.rar_vc xml

    虽然此技术主要用于Web开发,但在控制台应用中也可以通过XMLHttpRequest对象加载和校验XML文档。 总结来说,在VC++中进行XML文档的校验主要涉及以下几个步骤: 1. 加载XML文档和XSD文件。 2. 将XSD添加到XML文档的...

    C++ xml文件处理介绍

    在.NET框架的类库中,有六个命名空间提供了XML文档处理的支持,包括System::Xml、System::Xml::Schema、System::Xml::Serialization、System::Xml::XPath、System::Xml::Xsl和System::Xml::Reader。这些命名空间中的...

    xml的JAVA解析与格式定义

    DOM解析器将整个XML文档加载到内存中,构建一个树形结构,允许开发者通过节点遍历、查找和修改XML数据。例如,你可以使用`javax.xml.parsers.DocumentBuilderFactory`和`javax.xml.parsers.DocumentBuilder`创建DOM...

    XML考试题库大全

    XML 文档可以通过 DTD 或 XML Schema 的校验来确保其合法性。XML 文档的合法性是保证 XML 文档正确性的一个重要方面。 本资源摘要信息涵盖了 XML 技术及应用的相关知识点,包括 XML 文档的结构定义、编程接口、文档...

    操作XML方法大全

    - 验证XML文档:使用XML Schema Definition (XSD) 文件对XML进行校验,确保其符合预定义的规则。 7. **Namespaces**: - 在XML中,命名空间用于区分相同名称的元素和属性,通过前缀和URI(Uniform Resource ...

    基于XML的自动化异构系统数据一致性校验方法.rar

    XPath用于查询XML文档中的特定节点,XSLT用于转换XML数据,而XML Schema则定义了XML文档的结构和数据类型,可用于验证数据的有效性。 5. **差异分析**:对比来自不同系统的XML数据,找出不一致的地方。可以使用XML...

    firstobject XML Editor

    6. **拖放编辑**:通过拖放操作可以轻松移动XML节点,简化文档结构调整。 7. **XML diff与merge**:比较和合并XML文件,协助版本控制和团队协作。 8. **编码支持**:支持多种字符编码,确保跨平台和跨语言的数据...

    XML编辑工具(绿色版)

    2. **代码折叠**:通过折叠和展开XML节点,用户可以更有效地管理大型XML文档,隐藏不必要的部分,专注于当前正在处理的区域。 3. **错误校验**:该工具内置了XML Schema(XSD)或DTD(Document Type Definition)...

    xml考试试题

    6. DTD文档和XML实例的校验: DTD定义了一个"doc"元素,它包含一个可选的"title"元素和任意数量的"chap"元素。每个"chap"元素包含一个或多个"sect"元素,而"sect"元素包含一个或多个"para"元素。选项B的XML实例符合...

    XML编程技术大全光盘中的源代码

    9. **Ch14** - 可能涵盖XML的验证和校验,确保XML文档符合其DTD或Schema。 10. **Ch25** - 最后,这一章可能讨论了XML的安全性,包括如何防止XML注入攻击,以及在处理XML数据时的安全最佳实践。 通过这些源代码,...

    C#+XML做的通讯录

    同时,为了保证数据的一致性,我们可以利用XML的验证功能,如使用XSD(XML Schema Definition)进行数据校验。 至于导出Excel的功能,C#可以借助Microsoft.Office.Interop.Excel命名空间实现。这个命名空间提供了对...

    first object XML 编辑器

    3. **验证与校验**:编辑器支持XML Schema(XSD)和Document Type Definition(DTD),可以在输入时实时检查XML文档的语法和结构,防止错误的产生。 4. **查找与替换**:强大的搜索和替换功能使用户能够快速定位和...

    商业编程-源码-介绍两个 XML 文件操作类.zip

    `Document`对象则代表了整个XML文档,我们可以使用它的方法如`getElementsByTagName`、`getElementById`等来查找和操作XML节点。 第二个类可能是基于SAX解析的。SAX解析涉及`org.xml.sax.XMLReader`、`org.xml.sax....

    XML技术及GML简介

    XML文档校验是确保文档符合预定义的DTD或Schema的过程。校验工具可以帮助检测文档中的错误,如缺失的结束标签、无效的属性值等。 XSL(Extensible Stylesheet Language)家族包括XSLT(Transformation)、XPath...

    xml.zip_libxml 二次封装_xml 封装

    例如,可以创建一个`parseXMLFile`函数用于解析XML文件,`validateXML`函数用于校验XML的语法正确性。 2. **内存管理**:libxml2库内部使用了复杂的内存管理系统,二次封装时要确保正确管理内存分配和释放,避免...

    xml的使用

    5. 校验机制:通过XML Schema或DTD(Document Type Definition)可以对XML文档进行结构和数据类型的验证。 二、XML与数据库交互 1. 数据存储:XML文件可以作为数据库中的一个记录,存储复杂的数据结构。例如,XML可...

    xml解析工具-静态分析.rar

    5. **XPath**:一种在XML文档中查找信息的语言,可以根据路径表达式快速定位到特定节点。 6. **XSLT(Extensible Stylesheet Language Transformations)**:用于转换XML文档的样式表语言,可以将XML转换为HTML、...

    XML_JAVA指南

    4. **XML Schema(XSD)验证**:Java提供`javax.xml.validation`包用于XML文档的验证。通过创建`SchemaFactory`,加载XSD文件,然后使用`Validator`对XML文档进行校验。 5. **StAX(Streaming API for XML)**:与...

    XMLSPy2013

    3. **验证与校验**:XMLSpy内建了XML Schema (XSD) 和 DTD(Document Type Definition)验证工具,可以在编写XML时实时检查文档的结构合法性,确保数据的准确无误。 4. **XPath和XSLT支持**:XMLSpy支持XPath查询...

    如何创建一个基于XML技术的BBS系统

    7. **XML Schema与验证**:为了保证XML数据的结构一致性,可以定义XML Schema,用于校验输入的数据是否符合规范,防止数据错误。 8. **数据持久化**:虽然XML可以直接用于存储数据,但为了性能和安全性,通常会将...

Global site tag (gtag.js) - Google Analytics