我有一个看起来像这样的XML文件.
<collections id="my collections">
<category id="my category">
<record id="my record">
<title>Some Info</title>
</record>
</category>
</collections>
Run Code Online (Sandbox Code Playgroud)
我正在寻找使用新的属性,使用PHP DOM和Xpath替换上述XML文件中的任何属性.任何帮助都非常感谢
不确定你想要做什么,但一般的想法是:
DOMDocumentDOMDocument::loadXMLDOMXpath在该文档上实例化DOMXPath::queryDOMElement::setAttribute
例如,您可以使用以下内容:
$str = <<<XML
<collections id="My Collections">
<category id="my category">
<record id="my record">
<title>Some Info</title>
</record>
</category>
</collections>
XML;
$dom = new DOMDocument();
$dom->loadXML($str);
$xpath = new DOMXPath($dom);
$elements = $xpath->query('//record[@id="my record"]');
if ($elements->length >= 1) {
$element = $elements->item(0);
$element->setAttribute('id', "glop !");
}
echo '<pre>' . htmlspecialchars($dom->saveXML()) . '</pre>';
Run Code Online (Sandbox Code Playgroud)
这将在由它标识的节点上用" " 替换id属性my record,glop !并且您将获得以下XML作为输出:
<?xml version="1.0"?>
<collections id="My Collections">
<category id="my category">
<record id="glop !">
<title>Some Info</title>
</record>
</category>
</collections>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9466 次 |
| 最近记录: |