读取和更新XML字符串

时间:2013-04-17 18:22:59

标签: java xml xml-parsing

我的文本文件中包含多个XML文档。如何解析此xml并更新一些元素值 我可能有可能在同一个文本文件中的单个xml或多个xmls中重复元素名称。在这种情况下,我将引用父元素值。
我查看了Java XPath API但它需要单个XML要解析的文档。这里我在一个文件中有多个xmls作为String。

3 个答案:

答案 0 :(得分:1)

您可以使用"<?xml"或每个随附文档的起始标记对其进行拆分,以便您拥有一组结构良好的xml文档。

然后,您可以创建一系列输出流并使用技术来使用SAX中描述的SAX更新所需的元素

Can we modify the XML file, like deleting,updating the nodes using SAX parser at run-time?

Insert new element to an XML file using SAX Filter

答案 1 :(得分:0)

有效的XML文档必须具有根元素,您可以在其下指定所有其他元素。这是一个只能存在一个根元素的文档。请在此处阅读XML Specifications第2.1点。

因此,首先尝试将文件转换为有效的XML文档,然后使用常规API对其进行解析。您必须将整个文件读入流,前缀并使用一些<root>元素对其进行后缀,并将该流呈现给XML Parser。

答案 2 :(得分:0)

如果在一个文件中有多个XML文档,则可以将文件拆分为每个文件一个XML文档,并分别解析每个文件。或者,您可以自己添加根节点以创建有效的XML文档。