【发布时间】:2014-08-01 11:55:22
【问题描述】:
在编写 xml 文件时,我无法在每个节点后添加换行符。 Xml 文件正在以我想要的正确方式写入。但我想在每个节点完成后添加一个换行符。
以下是我的 xml 格式代码
<?php
//Create Database connection
$mysqli = new mysqli('localhost', 'user', 'pass', 'dbname');
if(mysqli_connect_errno()) {
echo "Connection Failed: " . mysqli_connect_errno();
}
/* if (!$mysqli->set_charset("utf8")) {
printf("Error loading character set utf8: %s\n", $mysqli->error);
} else {
printf("Current character set: %s\n", $mysqli->character_set_name());
}
*/
$xml2 = new SimpleXMLElement('<xml/>');
$xml2->addAttribute('encoding','UTF-8');
// $xml2->formatOutput = true;
// $xml2->preserveWhiteSpace = false;
for ($i = 0; $i < 2; $i++) {
$start = $i * 10000;
$query = "select tablecolname from tablename limit $start, 10000";
$result = mysqli_query($mysqli,$query);
//Create SimpleXMLElement object
$xml = new SimpleXMLElement('<node/>');
while($row = mysqli_fetch_array($result)) {
$mydata = $xml->addChild('internalnode');
$mydata = $xml->addChild('\n');
$mydata->loc=$row['Site'];
//htmlentities(strip_tags($mydata->loc=$row['Siteurl']), ENT_COMPAT,'utf-8');
$mydata = $xml->addChild('\n');
}
// used to be: $fp = fopen("folder/file2.xml","wb");
$fp = fopen("site2/sitemap$i.xml","wb");
fwrite($fp,utf8_encode($xml->asXML()));
fclose($fp);
}
$xml = new SimpleXMLElement('<urlset/>');
?>
我当前正在写入的 xml 文件如下:
<?xml version="1.0">
<node><internalnode>text</internalnode><internalnode>text</internalnode>......</node>
我希望格式应该是这样的。
<?xml version="1.0">
<node>
<internalnode>text</internalnode>
<internalnode>text</internalnode>
.
.
.
</node>
请帮助更正代码,以便我可以在每个片段之后添加行。
【问题讨论】:
-
仅供参考:不要在 Stackoverflow 上向其他人寻求帮助以更正您的代码。问一个具体的编程问题,而不是重点。将代码示例减少到 bare 最小值以显示您的具体问题。最好从头开始重新创建它。你会更好地表述你的问题,你会得到更好的答案结果。此外,您通常会在提出解决您的问题之前找到一个现有的答案。