php DomDocument+;直接访问xml元素

php DomDocument+;直接访问xml元素,php,dom,xml-parsing,domdocument,Php,Dom,Xml Parsing,Domdocument,有谁能给我提供最快、资源消耗最少的方法,让我看看“Column Name=Error”是否存在 我不想解析文档,只想检查元素是否存在 提前感谢, <?xml version="1.0" encoding="UTF-8"?> <Table> <Columns Items="4"> <Column Name="Error" Type="String" /> <Column Name="Description" Type="String" />

有谁能给我提供最快、资源消耗最少的方法,让我看看“Column Name=Error”是否存在

我不想解析文档,只想检查元素是否存在

提前感谢,

<?xml version="1.0" encoding="UTF-8"?>
<Table>
<Columns Items="4">
<Column Name="Error" Type="String" />
<Column Name="Description" Type="String" />
<Column Name="Cause" Type="String" />
<Column Name="Resolution" Type="String" />
</Columns>
<Rows Items="1">
<Row Error="2" Description="Unknown key" Cause="Unknown key" Resolution="Please check     the key is correct, it should be the in form AA11-AA11-AA11-AA11." />
</Rows>
</Table>

您是否想过简单地使用strpos

$xml= //xml data

if(strpos($xml,'<Column Name="Error"') !== false){
    // its been found
}
$xml=//xml数据

如果(strpos($xml,)如其他人所述,资源密集度最低的是一个简单的
strpos()
调用,尽管如果xml的确切格式发生变化,这可能会出错。一个完全可靠的方法是使用DOM,然后您可以尝试xpath查询

$xml = '...'
$dom = new DomDocument();
$dom->loadXML($xml);
$xpath = new DOMXPath($dom);

// returns NULL if no columns found with name="error"
$err = $xpath->query('//Column[@Name="Error"]')->item(0);

if ($err) {
  // there is a column with attribute Name="Error"
}