【发布时间】:2011-08-03 20:14:47
【问题描述】:
XML
<person>
<description>
<p>blah blah blah</p>
<p>kjdsfksdjf</p>
</description>
</person>
<person>
<description>
k kjsdf kk sak kfsdjk sadk
</description>
</person>
我想解析描述,以便它返回里面的 html 标签。
这两个我都试过了,都没有成功
$description = ereg_replace('<description>|</description>','',$person->description->asXML());
$description = $person->description;
有什么建议吗?
编辑
我想要完成的是将 xml 文件导入 mysql 数据库。一切正常,接受上面提到的内容......描述中的段落标签没有显示......他们需要在那里。 mysql 字段“description”设置为文本字段。如果我要解析 xml 以在浏览器中输出,那么 $description = ereg_replace('<description>|</description>','',$person->description->asXML()); 可以正常工作......虽然当我尝试导入 mysql 时这不是真的。我需要在 mysql INSERT 中添加一些东西吗? mysql_query("UPDATE table SET description = '$value' WHERE id = '$id'");
【问题讨论】:
-
您打算如何将 XML 引入您的 PHP 脚本?
-
您的 XML 无效,因为它缺少根元素。另请注意,HTML 不能用 XML 表示,因为它基于 SGML,而不是 XML(不同的规则)。您正在寻找 XHTML,但 description 元素内的 p 元素不是 XHTML,如果您不为它们分配 XHTML 名称空间。它们只是无效 XML 的任何 XML 应用程序的元素。
-
@Gordon - xml 不是无效的......这是概述特定问题的简短示例。
-
@Jeffrey 那么这是一个无效的简短示例,概述了具体问题。
标签: php mysql xml parsing xpath