简单XML解析

发布于 2024-12-03 08:14:26 字数 355 浏览 1 评论 0原文

我正在尝试在 PHP 中使用 simpleXML 解析一些 XML。

但我遇到的问题是,某些节点具有诸如“Milk &”之类的值。奶酪,我收到解析错误。

使用 simpleXML 和诸如 & 之类的字符来解析 XML 的最简单方法是什么?和/在场?

谢谢

编辑:

我正在使用:

 $source = 'stockdata.xml';
 $stock =  simplexml_load_file($source);

foreach($stock->StockItem as $item)
{
 ........
}

I'm trying to parse some XML using simpleXML in PHP.

The problem I'm having though, is that some nodes have values like Milk & Cheese and I'm getting a parse error.

What's the easiest way of parsing XML using simpleXML with chars such as & and / being present?

Thanks

EDIT:

I'm using:

 $source = 'stockdata.xml';
 $stock =  simplexml_load_file($source);

foreach($stock->StockItem as $item)
{
 ........
}

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

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

发布评论

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

评论(2

〃温暖了心ぐ 2024-12-10 08:14:26

您需要使用XML(和HTML)实体。而不是牛奶和牛奶奶酪使用牛奶和牛奶奶酪。您可以在 W3Schools 找到完整列表。

You need to use XML (and HTML) entities. Instead of Milk & Cheese use Milk & Cheese. You can find a complete list at W3Schools.

云雾 2024-12-10 08:14:26

快速解决方案:

$xml = str_replace('&','&',$xml); //$xml is the content in string format

更好的解决方案: [如果您控制 xml ]

在 xml 标记中添加 CDATA

<name><![CDATA[ Milk & honey]]></script> 

,您需要告诉 SimpleXml 处理 CDATA:

$sxml = simplexml_load_file('myfile.xml','SimpleXMLElement', LIBXML_NOCDATA);

希望这有帮助

quick solution:

$xml = str_replace('&','&',$xml); //$xml is the content in string format

a better solution: [ if you control the xml ]

add CDATA in the xml tags

<name><![CDATA[ Milk & honey]]></script> 

and you'll need to tell SimpleXml to take care of the CDATA:

$sxml = simplexml_load_file('myfile.xml','SimpleXMLElement', LIBXML_NOCDATA);

Hope this helps

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