如果我知道只有一个具有该名称的元素(XML(PHP DOM)),我该如何选择它?
我正在尝试将从表单接收到的一些数据添加到已存在的 XML 文件中。我正在 PHP 中使用 DOMDocument 将数据添加到文件中...
虽然我在添加数据方面取得了一些成功,但它添加到了错误的元素中。
现在我知道只有一个具有特定名称的元素,这将是根元素。我还知道只有一个元素的名称将包含其他数据。
这些元素没有 ID,我想使用 DOMDocument 在 PHP 中通过 getElementsByTagName
读取它们。
因此,如果我知道整个文件中只有一个具有该名称的元素,那么我可以执行以下操作:
$element = $dom->getElementByTagName('ElementName'); $element[0];
我的意思是我可以只选择数组中的第一个元素吗?我该怎么做呢?因为上面的代码不起作用。
I am trying to add some data received from a form to an XML file which already exists. I am using DOMDocument in PHP for adding the data to the file...
While I am somewhat successful in adding the data, it is adding into the wrong element.
Now I know there is only gonna be one element with a certain name, which will be the root element. I also know that there is gonna be only one element with a name which will contain other data.
Those elements don't have an ID and I want to read them by getElementsByTagName
in PHP using DOMDocument.
So if i know that there is gonna be only one element with that name in the whole file, then can i do something like this:
$element = $dom->getElementByTagName('ElementName'); $element[0];
I mean can I select only the first element in the array? And how should I do it? Because the code above doesn't work.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
getElementsByTagName()
的返回值是一个DOMNodeList
对象,它不是一个数组。通过item()
方法访问列表中的各个项目。请参阅:
The return value from
getElementsByTagName()
is aDOMNodeList
object, which is not an array. Access to individual items in the list is via theitem()
method.See:
TagName 是指 html 或 xml 标签的名称。如果只有一个,您应该能够执行以下操作:
然而,听起来您真正要查找的内容可以使用 xpath 完成:
现在 $element[0] 应该是您正在查找的元素。
TagName refers to the name of the html or xml tag. If there is only one you should be able to do something like this:
However it sounds like what you are really looking for can be done with xpath:
Now $element[0] should be the element you are looking for.