Java XML验证单个元素
我有以下XML文件Java XML验证单个元素,java,xml,validation,Java,Xml,Validation,我有以下XML文件 <books> <book> <author>Fitzek</author> <titel>Abgeschnitten</titel> </book> <book> <author>Dan Brown</author> <titel>Symbol</titel>
<books>
<book>
<author>Fitzek</author>
<titel>Abgeschnitten</titel>
</book>
<book>
<author>Dan Brown</author>
<titel>Symbol</titel>
</book>
<book isbn="123456">
<author>Sebastian Fitzek</author>
<titel>Der Augensammler</titel>
</book>
</books>
菲策克
阿伯格什尼顿
丹布朗
象征
塞巴斯蒂安·菲泽克
德奥根萨姆勒
我现在在JSF页面上显示了这个XML文件。我的目的是用XSD文件中的正确元素验证每个元素,如果特定元素无效,则向页面显示信息或错误消息。我只找到了一个验证整个文件而不是特定元素的解决方案 我希望有人能帮助我。
非常感谢。至少可以说,XML解析器和验证器在您需要的意义上并不健壮。在我有限的经验中,他们会在第一个问题上失败,如果他们试图恢复,错误会层叠成倍 问题在于,您需要从XML文件中获取健壮的信息,并从验证器中获取健壮的信息。您的假设是XML文件格式良好(语法正确),并且它不是分段有效的(有一些元素无法根据模式进行验证)。不幸的是,这不是大多数人想象的用例 这里有一个蛮力的方法来处理这个问题。首先,创建一组元素模式,每个元素对应一个要显示和更正的数据元素。每个模式将只包含一个标记和所需的数据
author
和titel
(sp)。对于每个元素,创建一个只有一个标记和数据元素的小XML文件。根据预先创建的元素架构验证该元素现在,您有了一个数据元素列表,其中包含与每个数据字段正确关联的可选验证消息。我想知道,完整文档验证为什么不符合您的要求?[参见此处][1]已经解释过了。[或者你也可以使用它][2][1]:[2]:我想显示哪些元素未验证,并在页面上显示文本字段以更正错误的值。如果我检查完整文档,我可以说“文件有效”或“文件无效”。但这无助于你的解决方案。我不知道这是不是最好的解决办法。我的示例非常小且简单,但XML文件可能非常大。我会/必须考虑那件事