XML:设置命名空间元素的值


XML: setting values of namespace elements

继续我之前的问题:simplexml_load_file无法识别<dc:title>标签

您将如何为 <dc: 元素设置值?我设法打印了它的值,但我在网上读到XML解析器仅用于选择数据,而不是设置数据。

编辑:使用simplexml_load_file()和PHP

我尝试使用 PHP 做的基本上是将此<dc:title>test</dc:title>更改为 <dc:title>HELLO</dc:title>,例如,如果该标签<dc:title>不存在,则添加它。

<dc:元素?

如链接问题的第一个答案中所述:dc不是元素名称。它是一个命名空间名称。

若要添加命名空间中的元素,请使用适用的方法(可能是重载)来指定命名空间。但是,这取决于您使用的解析器(并且您没有指定)。

例如,与 .NET 的 LINQ to XML 你从命名空间的 URI 创建一个 XNamespace 的实例,然后,当它重载 + 运算符时,你把它附加到元素名称前面:

var ns = new XNamespace(namespaceUri);
var newElement = doc.firstNode.Add(new XElement(ns + "ElementName"));