提取XML节点文本和子节点(PHP)所需的XML帮助


XML help needed for extracting xml node text and child nodes (PHP)

考虑以下xml片段

<s1>
 S1 Tag: s1 content 1
 <test1>Test1 Tag: content</test1>
 S1 Tag: s1 content 2
 <test2>Test2 Tag: content</test2>
 S1 Tag: s1 content 3
</s1>

我想提取<s1>标签文本(S1标签:S1内容1,S1标签:S1内容2,S1标签:S1内容3)及其所有子标签(<test1><test2>)及其内容(Test1标签:内容,Test2标签:内容

输出可以是任何格式,例如(最后我必须将其保存在数据库中,并将检索以再次生成相同的xml)

  S1 tag: S1 Tag: s1 content 1
  test1 tag: Test1 Tag: content
  S1 Tag: s1 content 2
  test2 tag: Test2 Tag: content
  S1 Tag: s1 content 3

使用simplexml:

   $stuff = " <s1>
 S1 Tag: s1 content 1
 <test1>Test1 Tag: content</test1>
 S1 Tag: s1 content 2
 <test2>Test2 Tag: content</test2>
 S1 Tag: s1 content 3
</s1>";
    $xml = simplexml_load_string($stuff);
    $test1 = (string) $xml->s1->test1;
    write_to_db($field, $test1);

这与通过以下regex 剥离所有标签相同吗

preg_replace('<[^>]+>', ' ', $xmlStr)