xml php之前的插入
第一次来这里:o)。。。需要你的帮助,因为这让我在这么远的地方发疯。。。对 我有以下xml结构:xml php之前的插入,php,xml,dom,Php,Xml,Dom,第一次来这里:o)。。。需要你的帮助,因为这让我在这么远的地方发疯。。。对 我有以下xml结构: <?xml version="1.0" encoding="UTF-8"?> <juiceboxgallery galleryTitle="whatever"> <image imageURL="images/23.jpg" thumbURL="thumbs/23.jpg" linkURL="images/23.jpg" linkTarget="_blank"
<?xml version="1.0" encoding="UTF-8"?>
<juiceboxgallery galleryTitle="whatever">
<image imageURL="images/23.jpg" thumbURL="thumbs/23.jpg" linkURL="images/23.jpg" linkTarget="_blank" sourcePath="webadded"></image>
<image imageURL="images/24.jpg" thumbURL="thumbs/24.jpg" linkURL="images/24.jpg" linkTarget="_blank" sourcePath="webadded"></image>
... and so on ...
</juiceboxgallery>
。。即使在检查是否有“X”图像元素时:
$images=$doc->getElementsByTagName("image");
echo "<hr>imagenes: ".$images->length."<hr>";
$images=$doc->getElementsByTagName(“图像”);
echo“
images:”.$images->length.“
”;
。。请提供一些帮助:|必须在父节点上调用insertBefore()和appendChild()等方法。文档本身也是一个节点。因此,它有方法并允许添加多个节点,但只允许添加单个元素节点
在您的情况下,以下是一些可能的方法
使用DOMNode::parentNode
属性
$nodo_zero = $doc->getElementsByTagName('image')->item(0);
$nodo_zero->parentNode->insertBefore($nuevo_nodo,$nodo_zero);
或者获取juiceboxgallery
节点并使用DOMNode::firstChild
属性
$gallery = $doc->getElementsByTagName('juiceboxgallery')->item(0);
$gallery->insertBefore($nuevo_nodo, $gallery->firstChild);
哦我的。。。非常感谢你。。你救了我一天!!它工作得很好…:o) 。。我尝试了第二种方法,现在我刚开始就得到了我的新图像!!
$gallery = $doc->getElementsByTagName('juiceboxgallery')->item(0);
$gallery->insertBefore($nuevo_nodo, $gallery->firstChild);