我正在创建一个带有DOMDocument的HTML文件,但我在getElementsByTagName方法搜索时遇到了问题。我发现的是,当我产生热时,不识别我插入的标签。GetElementsByTagName替代DOMDocument
我试图与DOMXPath,但无济于事:S
现在,我要做的就是经过在阵列中的节点和存储的所有孩子,但我需要的是得分转换DOMNodeList,并在做
return (DOMNodeList) $ my_array;
生成语法错误。
我的具体问题是,我可以如何使用getElementsByTagName方法或其他替代方法搜索标签来实现该任务?
回想起当时我正在生成的DOMDocument。
如果您需要更多信息,我会很乐意将它放在问题中。
当然乔纳森桑普森。
我很抱歉编辑问题的方式。我不太了解这个论坛格式。
为了更好地理解我所做的事情,我放置了继承链。
我有这个基类
abstract class ElementoBase {
...
}
我有这个类是从以前的一个继承,有一个抽象函数插入(插入)
abstract class Elemento extends ElementoBase {
...
public abstract function insertar ($elemento);
}
然后,我有一整个系列的表示从上面继承的HTML标签的类,即。
class A extends Elemento {
}
...
现在我用在纸插入标签的代码如下:
public function insertar ($elemento) {
$this->getElemento()->appendChild ($elemento->getElemento());
}
其中函数getElemento(),返回一个DOMElement
此外,在插入元件之前根据要插入的HTML标签进行一些验证,因为它们都有非常具体的规格。
由于我在同一时间生成HTML代码,很明显,没有HTML文件。
你的问题,该理论告诉我这样做:
$myListTags = $this->getElemento()->getElementsByTagName ($tag);
但我始终返回null,这让我研究它,因为我没有加载HTML文件,因为如果我
$myHtmlFile = $this->getDocumento()->loadHTMLFile ($filename);
$myListTags = $myHtmlFile->getElementsByTagName ($etiqueta);
我做,如果你需要更多的信息返回的HTML标签
的名单,我会很乐意把它放在这个问题。
你能告诉我们你是如何将这些标签,你怎么叫他们? – Sampson