使用XPath从XML文件中提取Image src

时间:2013-02-17 17:22:21

标签: php xml xpath xml-parsing

我有一个XMl文件,如下所示:

<time>13:12</time>
    <date>02/15/13 </date>
    <image1 src="path/to/image.jpeg" height="180" width="144" style="border-color: #800000" border="1" />

对于所有常规节点(例如“time”和“date”)使用xpath我没有问题,但是我坚持使用什么表达式来提取“image1 src”。

如果我将src添加到它,这不起作用。

$items = $xml->xpath('/*image1');

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

你可以试试这个:

$items = $xml->xpath('//image1/@src');

答案 1 :(得分:0)

您也可以尝试这种逻辑。

set serveroutput on
Declare
xl clob := '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"  xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<time>13:12</time>
<date>02/15/13 </date>
<image1 src="path/to/image.jpeg" height="180" width="144" style="border-color:#800000" border="1" />   
</soapenv:Body>
</soapenv:Envelope>';

v_parser Xmlparser.Parser;
v_doc    XMLDOM.DOMDocument;
v_nodeList      XMLDOM.DOMNodeList;
v_attribute    varchar2(300);

Begin
v_parser := Xmlparser.newParser;
xmlparser.setValidationMode(v_parser, TRUE);
Xmlparser.parseClob(v_parser, xl);

v_doc := Xmlparser.getDocument(v_parser);
v_nodeList  := xslprocessor.selectNodes(XMLDOM.makeNode(v_doc), '//image1');
v_attribute := XMLDOM.getAttribute((XMLDOM.makeElement(XMLDOM.item(v_nodeList, 0))), 'src');

dbms_output.put_line(v_attribute);
End;

<强>输出: 路径/到/ image.jpeg

相关问题