我已經搜索了高和低,我無法找到我的情況的直接答案。我有以下XML:使用PHP中的命名空間解析XML
<Tims xmlns="http://my.url.com/namespace" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://my.url.com/namespace http://my.url.com/xsd/Tims.xsd">
<Database xlink:href="http://my.url.com/xml/performance/database.svc">
<ProjectID xlink:href="http://my.url.com/xml/Tvq11p/project.svc" title="Title1">Tvq11p</ProjectID>
<ProjectID xlink:href="http://my.url.com/xml/Tvq10p/project.svc" title="Title2">Tvq10p</ProjectID>
<ProjectID xlink:href="http://my.url.com/xml/Tvq8p/project.svc" title="Title3">Tvq8p</ProjectID>
<ProjectID xlink:href="http://my.url.com/xml/Tvq9p/project.svc" title="Title4">Tvq9p</ProjectID>
<ProjectID xlink:href="http://my.url.com/xml/Tvq5p/project.svc" title="Title5">Tvq5p</ProjectID>
<ProjectID xlink:href="http://my.url.com/xml/Tvq15p/project.svc" title="Title6">Tvq15p</ProjectID>
<ProjectID xlink:href="http://my.url.com/xml/Tvq2p/project.svc" title="Title7>Tvq2p</ProjectID>
<ProjectID xlink:href="http://my.url.com/xml/Tvq3p/project.svc" title="Title8">Tvq3p</ProjectID>
<ProjectID xlink:href="http://my.url.com/xml/Tvq12p/project.svc" title="Title9">Tvq12p</ProjectID>
<ProjectID xlink:href="http://my.url.com/xml/Tvq13p/project.svc" title="Title10">Tvq13p</ProjectID>
<ProjectID xlink:href="http://my.url.com/xml/Tvq14p/project.svc" title="Title11">Tvq14p</ProjectID>
<ProjectID xlink:href="http://my.url.com/xml/Tvq1p/project.svc" title="Title12">Tvq1p</ProjectID>
<ProjectID xlink:href="http://my.url.com/xml/Tvq4p/project.svc" title="Title13">Tvq4p</ProjectID>
<ProjectID xlink:href="http://my.url.com/xml/Tvq6p/project.svc" title="Title14">Tvq6p</ProjectID>
<ProjectID xlink:href="http://my.url.com/xml/Tvq7p/project.svc" title="Title15">Tvq7p</ProjectID>
</Database>
<Timestamp>2012-08-03T09:47:06-04:00</Timestamp>
<ExecutionTime>0.01</ExecutionTime>
</Tims>
所有我想要做的就是提取每個ProjectID
節點的屬性和值..
我試過DOM,SimpleXML和XMLParser的。這完全在PHP中,但是,只要可以從Unix命令行執行,我就可以使用其他語言。
謝謝!
UPDATE 我已經試過: 我主要是刪除了我的努力,我嘗試和失敗。我最近的迭代是這樣的:
$return = send_request($requestUri, TIMS_REQUEST_TIMEOUT); // returns SimpleXMLElement
$return->registerXPathNamespace('e', 'http://www.webex.com/schemas/2002/06/service/event');
foreach($return->xpath('//ProjectID') as $project) {
$project->registerXPathNamespace('xlink', 'http://www.w3.org/1999/xlink');
print_r($project);
}
我的print_r
永遠不會火。
您的title7屬性缺少結束報價。這是你的問題嗎? – 2012-08-03 14:45:57
您的Tims元素也應該自動關閉。 – 2012-08-03 14:49:24
對不起,可憐的複製/粘貼...更新。 – 2012-08-03 14:51:10