我在一个名为text.xml
的文件中有这个xml文档xml文档目前看起来像这样:
<?xml version="1.0" encoding="UTF-8"?>
......
<rss version="2.0"...>
在xml版本声明之后,我想添加以下行:
<?xml-stylesheet type="text/xml" href="style.xslt"?>
更详细地说,这就是我想要做的事情:
我首先要将文件的字符串内容转换为xml文档。
$mystr = file_get_contents(path to my text.xml file);
$myxml = new SimpleXmlElement($mystr);
然后,我想在XML文档中添加一个属性来链接XSLT样式表。
$myxml->addAttribute(_____);
使用SimpleXmlElement addAttribute方法,但addAttribute方法允许使用名称,值和命名空间 - 我如何使用命名空间?由于我有三个参数,因此href最有意义的是在命名空间参数点。
因此,我尝试使用&#39; xml-stylesheet&#39;&#39; text / xml&#39;,&#39; style.xslt&#39;填空。哪个不起作用,因为我收到的错误是&#34;属性需要名称空间的前缀&#34;。我如何让它工作?
链接到php docs:http://php.net/manual/en/simplexmlelement.addattribute.php
编辑:这与其他问题不同,因为我试图将xslt样式表链接到rss文档。使用&#34;重复的问题&#39;&#34;解决方案导致xslt样式表在rss版本声明之后链接,这不够好。
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"...>
<?xml-stylesheet type="text/xml" href="test.xslt"?>
....
相反,我想:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xml" href="test.xslt"?>
<rss version="2.0"...>
....