PHP XML如何使用simpleXML提取name=所在的元素
我有一个XML文件,只需要从中提取某些元素。在某个时刻,XML文件可能会被更新,并完全改变元素的显示顺序——但是元素包含一个name=设置PHP XML如何使用simpleXML提取name=所在的元素,php,xml,parsing,simplexml,Php,Xml,Parsing,Simplexml,我有一个XML文件,只需要从中提取某些元素。在某个时刻,XML文件可能会被更新,并完全改变元素的显示顺序——但是元素包含一个name=设置 <element> <sub name='this1'>value</sub> <sub name='this2'>value</sub> <sub name='this3'>value</sub> <sub name='this4'>value</
<element>
<sub name='this1'>value</sub>
<sub name='this2'>value</sub>
<sub name='this3'>value</sub>
<sub name='this4'>value</sub>
</element>
示例如下:
<element>
<sub name='this0'>value</sub>
<sub name='this1'>value</sub>
<sub name='this2'>value</sub>
<sub name='this3'>value</sub>
<sub name='this4'>value</sub>
</element>
价值
价值
价值
价值
价值
因此sub[2]将变成this1而不是this2。您需要的是XPath查询,例如
$myXml->XPath(“/sub[@name=this1]”)
。在这里阅读有关Xpath的更多信息您需要的是Xpath查询,例如$myXml->Xpath(“/sub[@name=this1]”
)。在这里阅读更多关于Xpath的信息,这几乎就是我所需要的。但是我需要提取元素本身中包含的值。所以this2
应该是value
$value=current($myXml->xpath(/sub[@name=this1])
只有当查询只返回一个元素时,它才能很好地工作,其余的元素就会丢失。所以这几乎就是我需要的。但是我需要提取元素本身包含的值。所以this2
应该是value
$value=current($myXml->xpath(/sub[@name=this1]);
只有当查询只返回一个元素时,它才能很好地工作,其余的元素将丢失。
<element>
<sub name='this0'>value</sub>
<sub name='this1'>value</sub>
<sub name='this2'>value</sub>
<sub name='this3'>value</sub>
<sub name='this4'>value</sub>
</element>