作者littlex (小喵村民(金5肉10))
看板PHP
标题Re: [请益] 请问DOM中的节点列是指??
时间Wed Nov 15 22:28:26 2006
※ 引述《jimshsu (jims)》之铭言:
: <tgroup cols="4">
: <thead>
: <row>
: <entry>Title</entry>
: <entry>Author</entry>
: <entry>Language</entry>
: <entry>ISBN</entry>
: <entry>2006</entry>
: </row>
: </thead>
: <tbody>
: <row>.........略....
: 以上是我测试的资料片段
: 我用php得dom..先取得<row>节点列
: $row = $doc->getElementsByTagName('row');
: echo $row->item(0)->nodeValue."\n";
: 若列印第一个row节点会有以下结果
: ***************
: Title
: Author
: Language
: ISBN
: 2006
: *****************
: 因为我想是雁如何个别取到<entry>...我用了childNodes方法
: $list = $row->item(0)->childNodes;
: 结果却得到
: $list->length=11
: 列印的的话--echo "Value=".$list->item($i)->nodeValue."\n";
: Value=
: Value=Title
: Value=
: Value=Author
: Value=
: Value=Language
: Value=
: Value=ISBN
: Value=
: Value=2006
: Value=
: 疑问:
: 1.请问那个长度11是怎麽算的呢?
: 这长度不是指该节点的元素个数?
会不会把下面别的 entry 也算进去了?
: 2.回到我最初的好奇..若我取得所有row元素的节点
: 我要用何种方式取得<entry>的nodeValue?
小弟习惯结合 domxPath 去做,免得 parent , child 跑来跑去弄乱了
给您参考一下做法
<?php
$testXML = "<thead>
<row>
<entry>Title</entry>
<entry>Author</entry>
<entry>Language</entry>
<entry>ISBN</entry>
<entry>2006</entry>
</row> </thead>";
$xml_config = new DOMDocument();
$xml_config->loadXML($testXML);
$xpath = new domXPath($xml_config);
$dom_query = "//thead/row/*";
$xpathQuery = $xpath->query($dom_query);
$size = $xpathQuery->length;
for ($i=0; $i<$size; $i++){
$node = $xpathQuery->item($i);
echo $node->nodeValue;
}
?>
--
修电脑条款(来自一个好人的怒吼)
http://0rz.tw/ae1rm
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 125.232.140.201