C++ 如何删除删除特定属性后在XML文件中创建的空行
例如,我有一个XML文档C++ 如何删除删除特定属性后在XML文件中创建的空行,c++,xml,xml-parsing,xerces,domparser,C++,Xml,Xml Parsing,Xerces,Domparser,例如,我有一个XML文档 <document> <attribute id = 1 /> <attribute id = 2 /> <attribute id = 3 /> <attribute id = 4 /> <attribute id = 5 /> <attribute id = 6 /> </document> 我正在使用DOM解析器在我
<document>
<attribute id = 1 />
<attribute id = 2 />
<attribute id = 3 />
<attribute id = 4 />
<attribute id = 5 />
<attribute id = 6 />
</document>
我正在使用DOM解析器在我的C++代码中解析XML文件。
我正在删除一个特定的属性,例如id=3
使用Xerces库中的API删除属性,
但是我在删除文件的地方得到了一个空行
属性
删除操作如下所示。我将从给定的文件中删除所需的属性并复制
将剩余内容添加到临时文件,但会创建一个空行
<document>
<attribute id = 1 />
<attribute id = 2 />
<attribute id = 4 />
<attribute id = 5 />
<attribute id = 6 />
</document>
我需要如下输出,文件中不应该存在空白行
删除后
<document>
<attribute id = 1 />
<attribute id = 2 />
<attribute id = 4 />
<attribute id = 5 />
<attribute id = 6 />
</document>
使用此方法实现所需的
private static void formatWSDL(Document doc, String path) {
try {
OutputFormat format = new OutputFormat(doc);
format.setIndenting(true);
XMLSerializer serializer = new XMLSerializer(new FileOutputStream(new File(path)), format);
serializer.serialize(doc.getDocumentElement());
} catch (IOException e) {
e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
}
}
这可能就是你打印出来的方式。空白文件可能不存在于实际文档中。如何解析/打印XML?另外,我认为XML属性与XML元素的概念有点模糊。
实际上是一个XML元素。如何将文档转换为文档类型?