急(再加分):用java生成xml问题,用记事本看是一行?怎么解决?
DocumentBuilderFactorydbFactory=DocumentBuilderFactory.newInstance();DocumentBuilderd...
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder domparser = dbFactory.newDocumentBuilder();
Document doc = domparser.newDocument();
用.appendChild 加节点后,用ie可以显示,结构很清晰。
但是我用记事本打开就是一行了,没有区分节点。
我怀疑是不是没有加回车符号啊,但是我现在不知道怎么加上??
大家支持下我,我很急~~~
我们讨论的不是IE和记事本的区别!
我是要在xml文件中:节点后增加回车,只有这样才能导入到别的系统。
而该系统只是识别:在记事本下标准格式(有换行,和IE上看的结构一致。)
错误:<><><><>
正确:
<>
<>
<>
++++++++++++++++
回复:521玉宇
你说的方法我也知道,但是是要在读取的时候更改嘛,我是想在输出的时候就自动加上这个回车符号的!!
你有方法嘛??? 谢谢你。。
给问题得主:
多谢你的帮忙,问题一直没有解决,遗憾,改用别的类了,格式txt ,就好加回车符了。你是在读取的时候这样处理。我想在输出的时候就直接的换行。 展开
DocumentBuilder domparser = dbFactory.newDocumentBuilder();
Document doc = domparser.newDocument();
用.appendChild 加节点后,用ie可以显示,结构很清晰。
但是我用记事本打开就是一行了,没有区分节点。
我怀疑是不是没有加回车符号啊,但是我现在不知道怎么加上??
大家支持下我,我很急~~~
我们讨论的不是IE和记事本的区别!
我是要在xml文件中:节点后增加回车,只有这样才能导入到别的系统。
而该系统只是识别:在记事本下标准格式(有换行,和IE上看的结构一致。)
错误:<><><><>
正确:
<>
<>
<>
++++++++++++++++
回复:521玉宇
你说的方法我也知道,但是是要在读取的时候更改嘛,我是想在输出的时候就自动加上这个回车符号的!!
你有方法嘛??? 谢谢你。。
给问题得主:
多谢你的帮忙,问题一直没有解决,遗憾,改用别的类了,格式txt ,就好加回车符了。你是在读取的时候这样处理。我想在输出的时候就直接的换行。 展开
5个回答
展开全部
用ie可以显示,结构很清晰,说明你的程序是没有问题的啊
既然记事本打开是一行 很可能是记事本没有很好的处理过来
你也可以尝试用其他的软件打开试试看 不如说是 写字板等等
只要程序没有问题就行 很可能是软件的问题
补充:
既然想要输出换行 你可以在一开始设置为自动换行
参考实例:
public static void OutputToFile(Document myDocument, String filePath,String encoding)
{
try {
XMLOutputter outputter =new XMLOutputter("", true, encoding);
//这里true就是设置自动换行
FileWriter writer=new FileWriter(filePath);
outputter.output(myDocument, writer);
writer.close();
}
catch (java.io.IOException e) {
e.printStackTrace();
}
}
*********************************************
回复:
想在输出的时候换行,可以在你想要换行的地方加上换行分隔符"\r\n"
然后再用XmlOutput类 输出成xml文件就可以了
你还可以设置自动换行
xmldoc.Options := [doNodeAutoIndent];
{*--这个属性只有在选项里设置了doNodeAutoIndent标识为真(True)后才有效,这个标识的缺省状态为非真(False).--*}
您可以参见参考资料
*********************************************
既然记事本打开是一行 很可能是记事本没有很好的处理过来
你也可以尝试用其他的软件打开试试看 不如说是 写字板等等
只要程序没有问题就行 很可能是软件的问题
补充:
既然想要输出换行 你可以在一开始设置为自动换行
参考实例:
public static void OutputToFile(Document myDocument, String filePath,String encoding)
{
try {
XMLOutputter outputter =new XMLOutputter("", true, encoding);
//这里true就是设置自动换行
FileWriter writer=new FileWriter(filePath);
outputter.output(myDocument, writer);
writer.close();
}
catch (java.io.IOException e) {
e.printStackTrace();
}
}
*********************************************
回复:
想在输出的时候换行,可以在你想要换行的地方加上换行分隔符"\r\n"
然后再用XmlOutput类 输出成xml文件就可以了
你还可以设置自动换行
xmldoc.Options := [doNodeAutoIndent];
{*--这个属性只有在选项里设置了doNodeAutoIndent标识为真(True)后才有效,这个标识的缺省状态为非真(False).--*}
您可以参见参考资料
*********************************************
参考资料: http://www.knowsky.com/365878.html
展开全部
楼主本来可扩展结构话语言就只能被浏览器解析的,如果记事本可以分层出那就才奇怪了,楼主你可以把解析出的xml文件拷回Myeclipse用ctrl+shift+f会自动格式化,然后再把格式化后的xml拷回记事本,然后层次就会分得很清楚了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
记事本本身就没有解析XML的能力。XML有自己的组织格式,是不用回车的。用记事本看只能一行。你想看XML只能找支持XML的文本编辑器。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼上都很少用记事本是吧!其实写程序多用用记事本有好处的,直接选择自动换行就OK了!格式>自动换行!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
推荐用jdom,java自带的麻烦。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询