首页 / XML / java – 格式化XML文件:缩进
java – 格式化XML文件:缩进
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 格式化XML文件:缩进,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2321字,纯文字阅读大概需要4分钟。
内容图文
![java – 格式化XML文件:缩进](/upload/InfoBanner/zyjiaocheng/814/d27eb6c04965465c8d92542a5cc20bd7.jpg)
我正在尝试使用适当的缩进编写XML文件.这是我的代码:
public class WebVideo {
private final String C_XMLFILEPATH = "resources/video.xml";
private String itemId;
private String videoPath;
public WebVideo(long itemId, String videoPath) {
this.itemId = Long.toString(itemId);
this.videoPath = videoPath;
}
public void saveVideo() throws ParserConfigurationException, IOException,
TransformerFactoryConfigurationError, TransformerException,
SAXException {
File xmlFile = new File(C_XMLFILEPATH);
DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory
.newInstance();
DocumentBuilder documentBuilder = documentBuilderFactory
.newDocumentBuilder();
Document document = null;
Element rootElement = null;
if (xmlFile.exists()) {
document = documentBuilder.parse(xmlFile);
rootElement = document.getDocumentElement();
} else {
document = documentBuilder.newDocument();
rootElement = document.createElement("Videos");
document.appendChild(rootElement);
}
Element itemElement = document.createElement("Video");
rootElement.appendChild(itemElement);
Element idElement = document.createElement("Id");
Text id = document.createTextNode(itemId);
idElement.appendChild(id);
itemElement.appendChild(idElement);
Element pathElement = document.createElement("Path");
Text path = document.createTextNode(videoPath);
pathElement.appendChild(path);
itemElement.appendChild(pathElement);
Transformer transformer = TransformerFactory.newInstance()
.newTransformer();
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
transformer.setOutputProperty(
"{http://xml.apache.org/xslt}indent-amount", "4");
StreamResult streamResult = new StreamResult(new StringWriter());
DOMSource domSource = new DOMSource(document);
transformer.transform(domSource, streamResult);
String xmlString = streamResult.getWriter().toString();
BufferedWriter bufferedWriter = new BufferedWriter(
new OutputStreamWriter(new FileOutputStream(xmlFile)));
bufferedWriter.write(xmlString);
bufferedWriter.flush();
bufferedWriter.close();
}
}
一切都很好,但如果你仔细看到输出XML文件,当我追加一个新元素时就会出现问题.输出XML文件在这里:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<Videos>
<Video>
<Id>1</Id>
<Path>path</Path>
</Video>
<Video>
<Id>2</Id>
<Path>path</Path>
</Video>
</Videos>
标签与标签位于同一缩进中.我怎么解决这个问题?
谢谢.
解决方法:
检查这个答案是否可以打印XML:How to pretty print XML from Java?
内容总结
以上是互联网集市为您收集整理的java – 格式化XML文件:缩进全部内容,希望文章能够帮你解决java – 格式化XML文件:缩进所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。