我有一个包含像LastName和FirstName这样的6000元素的xml文件.
我需要删除元素值中的新行.
输入:
<info>
<LastName>
HOOVER
</LastName>
</info>
Run Code Online (Sandbox Code Playgroud)
输出:
<info>
<LastName>
HOOVER
</LastName>
</info>
Run Code Online (Sandbox Code Playgroud)
我试过preg_replace
和str_replace
空间和\n
,\t
,\r
和失败.
由于您正在使用XML,因此您还应该使用PHP提供的XML扩展之一.下面的示例使用DOM和XPath查找XML文档中的所有文本节点及其trim
.
$xml = <<< XML
<info>
<LastName>
HOOVER
</LastName>
</info>
XML;
Run Code Online (Sandbox Code Playgroud)
$dom = new DOMDocument;
$dom->preserveWhiteSpace = false;
$dom->loadXml($xml);
$xpath = new DOMXPath($dom);
foreach ($xpath->query('//text()') as $domText) {
$domText->data = trim($domText->nodeValue);
}
$dom->formatOutput = true;
echo $dom->saveXml();
Run Code Online (Sandbox Code Playgroud)
<?xml version="1.0"?>
<info>
<LastName>HOOVER</LastName>
</info>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2417 次 |
最近记录: |