JDom:如何在不更改初始表示的情况下读取/写入XML

时间:2019-03-22 08:55:24

标签: xml xml-parsing saxparser jdom jdom-2

我有一个XML文件:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<someRootTag>
    <tag1> </tag1>
</someRootTag>

我需要在运行时中添加/删除一些节点。这算不上问题。 但是问题是我不想更改其表示形式。 现在,我具有以下代码来读取/写入文档:

    SAXBuilder builder = new SAXBuilder();
    Document document = builder.build(new ByteArrayInputStream(xml.getBytes(StandardCharsets.UTF_8)));    
    // some logic 
    XMLOutputter xmlOutputter = new XMLOutputter(Format.getPrettyFormat());
    String newXml = xmlOutputter.outputString(document);

之后,我的文件看起来像我想要的:

  1. 标头已更改(从<?xml version="1.0" encoding="UTF-8"?><?xml version="1.0" encoding="UTF-8" standalone="yes"?>
  2. <tag1> </tag1><tag1 />替换为df2 = df2.drop('FamilySurvivalRate', axis=1) df2 = pd.merge(left=df2, right=df1[['Surname','FamilySurvivalRate']], on='Surname') df2 ,这显然是不正确的,因为tag1有一个空格已更改为空字符串。真的很糟糕。
  3. 缩进数量减少。我的初始文件中有4个缩进,现在新文件中有2个缩进。

我想我需要从文件中读取元数据并将其应用于输出程序,但是我不知道如何实现。

0 个答案:

没有答案