今天编写个php操作xml的程序 从文档中看到 DomDocument->getElementById()
文档中说需要设置id 属性 和DOMDocument->validateOnParse =ture给的例子中并没有显示怎么设置id属性 我用setIdAttribute 结果说不支持此函数
谁能告诉我怎么用这个啊 给个例子 谢谢各位大虾了
文档中说需要设置id 属性 和DOMDocument->validateOnParse =ture给的例子中并没有显示怎么设置id属性 我用setIdAttribute 结果说不支持此函数
谁能告诉我怎么用这个啊 给个例子 谢谢各位大虾了
确实不错 但并没有找到我要的东西 你能告诉我 那个里面有相关东西么 谢谢
$doc = new DOMDocument();
$doc->loadXML($xml);
foreach($doc->getElementsByTagName('item') as $item)
{
$item->setIdAttribute('id', true);
}
echo $doc->getElementById('1')->childNodes->item(0)->nodeValue;//Item1
$dom=new DomDocument();
$path=dirname(__FILE__);
$dom->validateOnParse=true;
$dom->load("config.xml");
$conf=$dom->getElementsByTagName('conf');
if(!empty($conf)){
foreach($conf as $i){
$i->setIdAttribute('name', true);
}
}
echo $dom->getElementById('other_ppd_keyword')->tagName;
提示错误DOMElement::setIdAttribute() [function.DOMElement-setIdAttribute]: Not yet implemented
$dom->loadXML('<conf name="other_ppd_keyword"/>');$conf=$dom->getElementsByTagName('conf');if(!empty($conf)){
foreach($conf as $i){
$i->setIdAttribute('name', true);
}
}
echo $dom->getElementById('other_ppd_keyword')->tagName;//conf
<!DOCTYPE news
[
<!ELEMENT news (item*)>
<!ELEMENT item (title)>
<!ELEMENT title (#PCDATA)>
<!ATTLIST item id ID #REQUIRED>
]>
<news>
<item id="ITEM-1"><title>Item1</title></item>
<item id="ITEM-2"><title>Item2</title></item>
</news>
XML;
$doc = new DOMDocument();
$doc->validateOnParse = true;
$doc->loadXML($xml);
echo $doc->getElementById('ITEM-1')->childNodes->item(0)->nodeValue;$xpath = new DOMXPath($doc);
echo $xpath->query('//item[@id="ITEM-1"]')->item(0)->nodeValue;