用PHP解析XML
作者:互联网
我正在尝试使用PHP的SimpleXML解析作业供稿.我以前只使用过JSON,在解析器正常工作时遇到了问题.以下是一些示例数据:
<shrs>
<rq url="http://api.simplyhired.com/a/jobs-api/xml_v2/q-comission">
<t>Comission Jobs</t>
<dt>2011-02-18T23:58:38Z</dt>
<si>0</si>
<rpd>10</rpd>
<tr>192</tr>
<tv>146</tv>
<em url=""/>
<h>
<kw pos="1"/>
</h>
</rq>
<rs>
<r>
<jt>Virtual Recruiter (IT) - Comission ...</jt>
<cn url="">Remedy Intelligent Staffing</cn>
<src url="http://api.simplyhired.com/a/job-details/view/jobkey-monster91949932/cjp-0/hits-192?aff_id=28700">Monster</src>
<ty>organic</ty>
<loc cty="Buffalo" st="NY" postal="14211" county="" region="" country="US">Buffalo, NY</loc>
<ls>2011-02-04T05:51:17Z</ls>
<dp>2011-02-04T05:51:17Z</dp>
<e>
Seeking a candidate with previous recruiting experience to work as a Virtual Recruiter for a large client in the IT industry.a Responsibilities: Will recruit, screen, interview, and place candidates for many openings throughout the US Will...
</e>
</r>
<r>
<jt>Virtual Loan Officer (Mortgage) draw vs comission</jt>
<cn url="">Netbranchology.com</cn>
<src url="http://api.simplyhired.com/a/job-details/view/jobkey-7114.353281/cjp-2/hits-192?aff_id=28700">netbranchology.com</src>
<ty>organic</ty>
<loc cty="Denver" st="CO" postal="80218" county="" region="" country="US">Denver, CO</loc>
<ls>2011-02-10T11:47:50Z</ls>
<dp>2011-01-26T11:36:18Z</dp>
<e>
Minimize your overhead by becoming a virtual loan officer... Our client, a Texas-based mortgage banker, has just launched an innovative new program that lets you work from anywhere to originate residential mortgage loans. No office is...
</e>
</r>
</rs>
</shrs>
[等等]
我想将标签中的元数据检索到变量中,然后遍历下每个作业结果进行处理.我该如何使用PHP? (到目前为止,我一直在使用SimpleXML函数)
解决方法:
节点作为对象属性访问,属性使用数组表示法. foreach使您可以遍历节点.您可以通过将其转换为字符串来获取节点的内容. (因此,如果您使用echo,则暗含)
$shrs = simplexml_load_string($xml);
foreach ($shrs->rs->r as $r)
{
$jobTitle = $r->jt;
$city = $r->loc['cty'];
echo "There's an offer for $jobTitle in $city<br />\n";
}
标签:xml-serialization,simplexml,xml,php,xml-parsing 来源: https://codeday.me/bug/20191208/2093418.html