几周前,我开始使用PowerBuilder 12.5进行开发。我不得不编写一些XML文件,所以我熟悉了PBDOM库。
我可以建造很多不同的东西,它很好,但有一件事仍然困扰着我:
在输出文件中,将整个XML写在一行上。
我使用SaveDocument函数。
例如,下面是一些代码:
PBDOM_Document doc
PBDOM_Element noderoot, node1, node11, node12
doc = CREATE PBDOM_Document
doc.NewDocument("NodeRoot")
noderoot = doc.GetRootElement()
node1 = CREATE PBDOM_Element
node1.SetName("Node1")
noderoot.AddContent(node1)
node1.SetAttribute("Attr", "AttrValue")
node11 = CREATE PBDOM_Element
node11.SetName("Node11")
node11.AddContent("Here is a value")
node1.AddContent(node11)
node12 = CREATE PBDOM_ELEMENT
node12.SetName("Node12")
node12.AddContent("Here is another value")
node1.AddContent(node12)
doc.SaveDocument("myDoc.xml")下面是我用notepad++打开它的结果
<NodeRoot><Node1 Attr="AttrValue"><Node11>Here is a value</Node11><Node12>Here is another value</Node12></Node1></NodeRoot>而我想:
<NodeRoot>
<Node1 Attr="AttrValue">
<Node11>Here is a value</Node11>
<Node12>Here is another value</Node12>
</Node1>
</NodeRoot>使用notepad++ XML工具插件,我可以使用“漂亮的打印”函数来获得这个很好的表示。但是我希望我的文件从一开始就以这种方式格式化。我注意到“行尾”被设置为UNIX格式(窗口右下角的指示器),但我正在处理Windows。当我使用菜单将其转换为Windows (CR+LF)时,它会更改此指示符,但代码保留在一行上。
有没有一种方法可以告诉PBDOM用一个很好的输出来导出XML文件?
谢谢!
备注:
<?xml version="1.0" encoding="ISO-8859-1" ?>没有帮助(我一直在导出一些更复杂的文件时就这样做了,但是我仍然在一行中得到了输出.)发布于 2014-04-22 13:38:34
与使用pbdom编写xml文档不同,您可以在可能的情况下执行以下操作:
现在,您将有一个格式化良好的xml文档。这也很容易。
看看这个有用吗。
https://stackoverflow.com/questions/22169694
复制相似问题