Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从xpath定义构建DomNode_Php_Xml_Xpath_Domdocument - Fatal编程技术网

Php 从xpath定义构建DomNode

Php 从xpath定义构建DomNode,php,xml,xpath,domdocument,Php,Xml,Xpath,Domdocument,PHP中是否有一种方法可以从xpath定义创建DomeElement,稍后将其添加到DomDocument中 比如说,我们有 $xpath = 'a:ul[@class="something]'; 我想要的结果是DomeElement包含: <a:ul class="something"/> 或者,如果: $xpath = 'a'; //result <a/> $xpath='a'; //结果 另一个例子: $xpath = 'a:ul[@class="som

PHP中是否有一种方法可以从xpath定义创建DomeElement,稍后将其添加到DomDocument中

比如说,我们有

$xpath = 'a:ul[@class="something]';
我想要的结果是DomeElement包含:

<a:ul class="something"/>

或者,如果:

$xpath = 'a';
//result <a/>
$xpath='a';
//结果
另一个例子:

$xpath = 'a:ul[@class="something and @id=abc]'; 
//result <a:ul class="something" id="abc"/>
$xpath='a:ul[@class=“something and@id=abc]”;
//结果

当然这里有一种方法,但这并不容易。您必须定义类似Xpath的语言和语法分析器

下面是Xpath中的许多功能,它们极难或不可能扩展到DOM结构。一个简单的示例是
/*
——它匹配文档中的任何元素节点,但没有可用于创建节点的标记名

因此,您首先必须定义自己的语言,该语言使用与Xpath相同的语法,但功能要少得多


然后您可以为它创建一个解析器,最后使用DOM方法来创建XML节点。

是否希望
DomeElement
包含以下数据
?是的,然后我必须将其添加到之前创建的DomDocument中