我有类似xml的内容
<?xml version="1.0"?>
<content
ID="immunSect"/>
<table
border="1"
width="100%">
<thead>
<tr>
<th>Vaccine</th>
<th>Date</th>
<th>Status</th>
</tr>
</thead>
<tbody>
<tr>
<td><content
ID="immun2"/>Influenza virus vaccine</td>
<td>May 2012</td>
<td>Completed</td>
</tr>
<tr>
<td><content
ID="immun4"/>Tetanus and diphtheria toxoids</td>
<td>April 2012</td>
<td>Completed</td>
</tr>
</tbody>
</table>
</text>
我的问题是我想更改此节点
<tbody>
<tr>
<td><content
ID="immun2"/>Influenza virus vaccine</td>
进入
<tbody>
<tr>
<td><content
ID="immun2">Influenza virus vaccine</content</td>
请帮助我如何获取该特定部分并从
更改节点结构<td><content id="xxx"/>test
进入
<td><content id="xxx">test</content>
答案 0 :(得分:0)
基本上,在获取XML数据时,将循环放到EOF,在其中获取每行(@ string1)并对其进行解析,然后将其重写为新变量(@ string2),您可以将其保存到XML文件中/随便使用它。开始解析@ string1,将所有内容移动到@ string2,直到遇到并忽略它,而是将标志置于1。继续复制,直到找到然后输入到@ string2为止。 当然可以用更优雅的方式来完成,但是我需要知道您正在使用什么来获取XML数据。
希望有帮助。
答案 1 :(得分:0)
由于XML格式不正确,因此不能使用DOMDocument之类的解析工具。也许您唯一的选择是使用preg_replace
进行正则表达式替换。这应该起作用:
$xml = preg_replace('#<td>(<content.*?)</td>#s', '<td>$1</content></td>', $xml);