【发布时间】:2017-03-16 19:05:40
【问题描述】:
我正在尝试将元素插入到围绕某些文本的 xml 文档中。部分问题可能是这不是格式良好的 xml,它需要更容易被人类阅读为纯文本。所以我所拥有的是这样的:
<record>
<letter>
<header>To Alice from Bob</header>
<body>Hi, how is it going?</body>
</letter>
</record>
我需要结束这个:
<record>
<letter>
<header>To <to>Alice</to> from <from>Bob</from></header>
<body>Hi, how is it going?</body>
</letter>
</record>
类似的东西应该是有效的html:
<p>To <span>Alice</span> from <span>Bob</span></p>
我可以将标头的值设置为字符串,但是<> 被转换为&lt 和&gt,这不好。现在我正在使用$node->header->addChild('to', 'Alice') 和$node[0]->header = 'plain text'。
如果我这样做了
$node->header->addChild('to', 'Alice');
$node->header = 'plain text';
$node->header->addChild('from', 'Bob');
然后我得到
<header>plain text <from>Bob</from></header>
'to' 被删除了。
快速而肮脏的方法就是让它成为现实
<header>plain text <to>Alice</to><from>Bob</from></header>
然后再次打开文件并移动元素。或者搜索并替换 < 和 >。不过,这似乎是错误的方式。
simpleXML 可以吗?
谢谢!
【问题讨论】:
标签: php xml simplexml children