我刚刚开始阅读有关DOM的文档和示例,以便抓取和解析文档.
例如,我有部分文件如下所示:
<div id="showContent">
<table>
<tr>
<td>
Crap
</td>
</tr>
<tr>
<td width="172" valign="top"><a href="link"><img height="91" border="0" width="172" class="" src="img"></a></td>
<td width="10"> </td>
<td valign="top"><table cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td height="30"><a class="px11" href="link">title</a><a><br>
<span class="px10"></span>
</a></td>
</tr>
<tr>
<td><img height="1" width="580" src="crap"></td>
</tr>
<tr>
<td align="right">
<a href="link"><img height="16" border="0" width="65" src="/buy"></a>
</td>
</tr>
<tr>
<td valign="top" class="px10">
<p style="width: 500px;">description.</p>
</td>
</tr>
</tbody></table></td>
</tr>
<tr>
<td>
Crap
</td>
</tr>
<tr>
<td>
Crap
</td>
</tr>
</table>
</div>
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用以下代码来获取所有tr标记并分析其中是否存在垃圾或信息:
$dom …Run Code Online (Sandbox Code Playgroud) 我想要一个PHP DOMDocument的孩子.假设我有一个这样的DOM文档:
<div>
<h1 ></h1>
<div id=2></div>
<div class="test"></div>
...
</div>
Run Code Online (Sandbox Code Playgroud)
我有一个索引号3.然后我需要得到元素<div class="test"></div>.在DOMDocument API中,没有类似的方法children(3).在那儿?我怎样才能让一个有索引的孩子?
我有一个简单的XML文档:
<?xml version="1.0"?>
<cellphones>
<telefon>
<model>Easy DB</model>
<proizvodjac>Alcatel</proizvodjac>
<cena>25</cena>
</telefon>
<telefon>
<model>3310</model>
<proizvodjac>Nokia</proizvodjac>
<cena>30</cena>
</telefon>
<telefon>
<model>GF768</model>
<proizvodjac>Ericsson</proizvodjac>
<cena>15</cena>
</telefon>
<telefon>
<model>Skeleton</model>
<proizvodjac>Panasonic</proizvodjac>
<cena>45</cena>
</telefon>
<telefon>
<model>Earl</model>
<proizvodjac>Sharp</proizvodjac>
<cena>60</cena>
</telefon>
</cellphones>
Run Code Online (Sandbox Code Playgroud)
我需要使用XML DOM打印此文件的内容,它需要像这样构造:
"model: Easy DB
proizvodjac: Alcatel
cena: 25"
Run Code Online (Sandbox Code Playgroud)
对于XML中的每个节点.
它必须使用XML DOM完成.那就是问题所在.我可以通常,简单的方式做到这一点.但是这个让我烦恼,因为我似乎无法在互联网上找到任何解决方案.
这是我可以做的,但我需要访问内部节点(子节点)并获取节点值.我也想摆脱一些奇怪的字符串"#text",它出现了.
<?php
//kreira se DOMDocument objekat
$xmlDoc = new DOMDocument();
//u xml objekat se ucitava xml fajl
$xmlDoc->load("poruke.xml");
//dodeljuje se promenljivoj koreni element
$x = $xmlDoc->documentElement;
//prolazi se kroz petlju tako sto se ispisuje informacija o podelementima …Run Code Online (Sandbox Code Playgroud) 这是我的xml:
<news_item>
<title>TITLE</title>
<content>COTENT.</content>
<date>DATE</date>
<news_item>
Run Code Online (Sandbox Code Playgroud)
我想获取news_item中的标签名称.
这是我到目前为止:
$dom = new DOMDocument();
$dom->load($file_name);
$results = $dom->getElementsByTagName('news_item');
Run Code Online (Sandbox Code Playgroud)
没有使用像simpleXML这样的其他php库,我可以获得子标签的所有标签名称(而不是值)的名称吗?
示例解决方案
title, content, date
Run Code Online (Sandbox Code Playgroud)
我不知道news_item里面标签的名称,只知道容器标签名称'news_item'
多谢你们!
我是PHP DOM对象的新手,有一个问题,我找不到解决方案.我有一个带有以下HTML的DOMDocument:
<div id="header">
</div>
<div id="content">
<div id="sidebar">
</div>
<div id="info">
</div>
</div>
<div id="footer">
</div>
Run Code Online (Sandbox Code Playgroud)
我需要获取第一级的所有节点(标题,内容,页脚).hasChildNodes()不起作用,因为第一级节点可能没有子节点(页眉,页脚).现在我的代码看起来像:
$dom = new DOMDocument();
$dom -> preserveWhiteSpace = false;
$dom -> loadHTML($html);
$childs = $dom -> getElementsByTagName('div');
Run Code Online (Sandbox Code Playgroud)
但这让我得到了所有的div.任何建议?