XML相關文參考網址

xml手冊 http://por.tw/Website_Design/PHP5/ref.dom.html
xpath教學 http://mi.hosp.ncku.edu.tw/km/index.php/dotnet/48-netdisk/57-xml-xpath
xPath手冊 http://www.w3school.com.cn/xpath/xpath_syntax.asp

最近都在用php抓xml資料,稍微整理一後發現,原來PHP跟AS3的語法差這麼多,寫了PHP就忘了AS3;寫了AS3就忘了PHP...,不知道JS又是什麼語法@@"

簡單的抓節點練習(PHP):

<?
$xml_str="<?xml version='1.0' encoding='UTF-8'?><root attr='rootAttr'><A attr1='attrVal1' attr2='attrVal2'>aa</A><B attr='attrB'>bb</B></root>";
$doc = DOMDocument::loadXML($xml_str); //載入xml字串
//抓節點
echo $doc->documentElement->nodeName."<BR>";//根節點節點名稱
echo $doc->documentElement->firstChild->nodeName."<BR>";//根節點下第一個node的nodeName
echo $doc->documentElement->firstChild->textContent."<BR>";//根節點下第一個node的內容
$nl= $doc->documentElement->childNodes;//根節點下所有的子節點列表
foreach($nl as $k =>$v){//根節點下所有的子節點的nodeName
echo $v->nodeName."<BR>";
}

echo $doc->documentElement->childNodes->item(0)->nodeName."<BR>";//根節點下第一個node的nodeName

//抓屬性
echo $doc->documentElement->getAttribute("attr")."<BR>";//根節點的attr屬性值

$al=$doc->documentElement->firstChild->attributes;
foreach($al as $k =>$v){//根節點下第一個node的所有屬性
echo $k.",".$v->textContent."<BR>";
}
?>


簡單的抓節點練習(AS3):

var str:String = "<?xml version='1.0' encoding='UTF-8'?><root attr='rootAttr'><A attr1='attrVal1' attr2='attrVal2'>aa</A><B attr='attrB'>bb</B></root>";
var xml:XML = XML(str);
//抓節點
trace(xml.name());//根節點節點名稱
trace(xml.children()[0].name());//根節點下第一個node的nodeName
trace(xml.children()[0].text());//根節點下第一個node的內容
var nl:XMLList = xml.children();//根節點下所有的子節點列表
for (var i:Object in nl) {//根節點下所有的子節點的nodeName
trace(nl[i].name());
}
//抓屬性
trace(xml.@attr);//根節點的attr屬性值
var al:XMLList = xml.children()[0].attributes();
for (var j:Object in al) {//根節點下所有的子節點的nodeName
trace(al[j].name()+","+al[j]);
}