是否有可能删除xml文件的根元素? 我怎么能用Java做到这一点? 我的xml文件如下所示:
<root>
<body>
....
</body>
</root>
我已经尝试用Sax解析它,好吧我实现了这个,但我发现SAX不允许将代码写入xml文件(我读到这很难)。 您是否知道如何从根标签获取内容并将其写入以body为父级的新文档?
答案 0 :(得分:0)
解决问题的一种方法是使用GitHub上提供的Scilca XML Progession软件包解析文档。您可以获取子元素的结构,然后保存它。
import org.scilca.sxp.*;
XMLConnection xc = new XMLConnection("@filepath");
List<Node> allBodies = xc.searchMatches("body"); // as body is second tag it will be first in list
Node neededNode = allBodies.get(0);
//Writing Portion
Document data = new Document(neededNode);
XMLWriter xw = data.getWriter();
xw.saveXML("@filepath2");
答案 1 :(得分:-1)
如果您 需要删除<root>
和</root>
标记,则无需使用SAX等解析xml文件。只需将其解析为String并用空字符串替换标记。
一个非常基本的例子可能是:
String str = "<root><body></body></root>";
String str2 = str.replace("<root>", "").replace("</root>", "");
System.out.println(str2);