以下是代码:
$doc = new DomDocument('1.0');
// create root node
$root = $doc->createElement('root');
$root = $doc->appendChild($root);
$signed_values = array('a' => 'eee', 'b' => 'sd', 'c' => 'df');
// process one row at a time
foreach ($signed_values as $key => $val) {
// add node for each row
$occ = $doc->createElement('error');
$occ = $root->appendChild($occ);
// add a child node for each field
foreach ($signed_values as $fieldname => $fieldvalue) {
$child = $doc->createElement($fieldname);
$child = $occ->appendChild($child);
$value = $doc->createTextNode($fieldvalue);
$value = $child->appendChild($value);
}
}
// get completed xml document
$xml_string = $doc->saveXML() ;
echo $xml_string;
如果我在浏览器中打印它,我不会得到很好的XML结构,例如
<xml> \n tab <child> etc.
我刚得到
<xml><child>ee</child></xml>
我想成为utf-8这怎么可能?
您可以尝试这样做:
...
// get completed xml document
$doc->preserveWhiteSpace = false;
$doc->formatOutput = true;
$xml_string = $doc->saveXML();
echo $xml_string;
您还可以在创建之后立即设置这些参数DOMDocument
:
$doc = new DomDocument('1.0');
$doc->preserveWhiteSpace = false;
$doc->formatOutput = true;
这可能更简洁。两种情况下的输出均为(Demo):
<?xml version="1.0"?>
<root>
<error>
<a>eee</a>
<b>sd</b>
<c>df</c>
</error>
<error>
<a>eee</a>
<b>sd</b>
<c>df</c>
</error>
<error>
<a>eee</a>
<b>sd</b>
<c>df</c>
</error>
</root>
我不知道如何使用来更改缩进字符DOMDocument
。您可以使用逐行正则表达式替换(例如,使用preg_replace
)对XML进行后处理:
$xml_string = preg_replace('/(?:^|\G) /um', "\t", $xml_string);
另外,还有一个整洁的扩展程序,tidy_repair_string
它也可以漂亮地打印XML数据。可以使用它指定缩进级别,但是整洁绝不会输出制表符。
tidy_repair_string($xml_string, ['input-xml'=> 1, 'indent' => 1, 'wrap' => 0]);
问题内容: 我希望Ruby on Rails中的JSON输出是“漂亮的”或格式正确的。 现在,我打电话给我,而我的JSON都在一行上。有时很难发现JSON输出流中是否存在问题。 有没有办法配置使我的JSON“漂亮”或在Rails中很好地格式化? 问题答案: 使用内置于更高版本JSON中的函数。例如: 这使您:
如何从AWS漂亮地打印出Boto EC2输出? 这是原版(不太漂亮): s是什么? 如果我尝试使用Python的JSON转储,我得到:
问题内容: 我有一个字典列表,带有来自SQL查询的classid,dept,coursenum,area和title字段。我想以人类可读的格式输出值。我在想每列顶部的列标题,然后在每列中适当的输出,即: (显然是使用标准对齐/间距) 我将如何在python中完成此操作? 问题答案: 标准的Python字符串格式可能就足够了。 要么 使用对齐,填充和精确格式说明符来获得最佳结果。
问题内容: 我正在尝试在python中创建一个不错的列列表,以与我创建的命令行管理工具一起使用。 基本上,我想要一个像这样的列表: 变成: 使用普通标签不会解决问题,因为我不知道每一行中最长的数据。 这与Linux中的’column -t’相同。 我到处寻找各种python库来执行此操作,但找不到任何有用的方法。 问题答案: 这样做是计算最长的数据条目以确定列宽,然后在打印出每一列时用于添加必要的
问题内容: 我是一个json对象 在上面的说法应该是相当打印结果。如果我做类似的事情,它就是这样做的。但是,我想通过将其附加到div中来输出给用户。当我这样做时,我只会显示一行。(我认为它不起作用,因为中断和空格未解释为html?) 有没有办法以漂亮的打印方式将结果输出到div? 问题答案: 请使用 标签 演示:http : //jsfiddle.net/K83cK/
我有一个Spring Boot控制台应用程序,我通过JMX访问执行器endpoint。问题是返回的文本打印得不好,也不是JSON。它看起来像这样: 将其转换为可读格式的最佳方法是什么?是否可以将JMX执行器配置为漂亮打印?是否可以将JMX执行器配置为使用JSON? 有一个关于Spring Boot Actuatorendpoint的漂亮打印JSON输出的相关问题,但在这种情况下,我被JMX卡住了,