Java 如何根据运行时已知的XSD更新xml?
目标是根据给定的XSD将一些元素插入现有xml文档中,作为java应用程序的一部分 问题是:具体的XSD只在运行时已知,因此像jaxb这样的标准解决方案不起作用,因为它们处理编译时已知的XSD 我在编译时仅有的结构信息是要插入的元素的结构和父元素的名称。该元素同级的顺序和名称仅在运行时在XSD中可用 从更高的层面上讲,我认为这项任务可以通过以下步骤完成:Java 如何根据运行时已知的XSD更新xml?,java,xml,xsd,Java,Xml,Xsd,目标是根据给定的XSD将一些元素插入现有xml文档中,作为java应用程序的一部分 问题是:具体的XSD只在运行时已知,因此像jaxb这样的标准解决方案不起作用,因为它们处理编译时已知的XSD 我在编译时仅有的结构信息是要插入的元素的结构和父元素的名称。该元素同级的顺序和名称仅在运行时在XSD中可用 从更高的层面上讲,我认为这项任务可以通过以下步骤完成: 解析xml构建文档树 确定插入元素的正确位置(我可以提出以下建议 不要使用JAXB。转到DOM。只需解析文档,在运行时根据XSD对其进行验证。
我认为XSOM是Xerces的一部分,或者至少Xerces实现了模式验证后信息集(PSVI)。假设您使用支持模式的解析器解析输入XML文档,您可以访问PSVI并对其进行分析。请阅读更多。如果您在编译时知道XSD,您会怎么做?您将如何使用JAXB实现#2?请检查以下内容:如果XSD在编译时得到修复,我将创建JAXB绑定,解组XML,更新内容ree并将其封送为最后一步当查看项目页面时,项目似乎已经死了:不再有下载页面,JIRA只包含几年前的少量问题。我目前的方法是使用xerces获得“待插入”的兄弟姐妹的有序列表-元素,然后将其插入到正确的位置