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

发布于 2025-01-08 17:50:34 字数 675 浏览 1 评论 0原文

考虑以下 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 内容 1、S1 标记:s1 内容 2、S1 标记: s1 content 3 )及其所有子标签()及其内容(测试 1 标签:内容,测试 2 标签:内容)。

输出可以是任何格式,例如(最后我必须将其保存在数据库中,并将检索以再次生成相同的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

Consider the following xml snippet.

<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>

I want to extract <s1> tag text (S1 Tag: s1 content 1, S1 Tag: s1 content 2, S1 Tag: s1 content 3 ) and all of its child tags (<test1> and <test2>) along with its content (Test1 Tag: content, Test2 Tag: content).

The output could be in any format e.g. (finally i have to persist it in db and will retrieve to produce the same xml again)

  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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

z祗昰~ 2025-01-15 17:50:34

使用 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);

Use 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);
归途 2025-01-15 17:50:34

是否与通过以下正则表达式删除所有标签相同

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

Is it same as to strip all tags via following regex

preg_replace('<[^>]+>', ' ', $xmlStr)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文