【发布时间】:2015-10-16 20:35:28
【问题描述】:
由于某种原因,我尝试使用 XPath 解析以下 XML,它放置冒号而不是破折号,我无法控制源提要并希望获取原始 URL。
这里是xml:
<entry>
<link href="http://www.iol.co.za/polopoly_fs/iol-news-oct29-sa-justice-read-only-1.1736573!/image/2509245336.jpg_gen/derivatives/box_501/2509245336.jpg" rel="enclosure" type="image/jpg"/>
</entry>
这是 XPath 表达式:
/entry/link[@rel="enclosure"]/@href
结果是
href="http://www.iol.co.za/polopoly_fs/iol:news:oct29:sa:justice:read:only:1.1736573!/image/2509245336.jpg_gen/derivatives/box_501/2509245336.jpg "
查询出于某种原因将所有“-”字符替换为“:”
我做错了什么?
【问题讨论】:
-
很好奇。你是如何运行你的xpath的?什么处理器?什么编程语言?
-
我实际上在 drupal 中使用它作为提要导入的一部分,但我也使用 codebeautify.org/Xpath-Tester 得到了这个结果
-
这个 XPath 去掉了“href”
string(/entry/link[@rel="enclosure"]/@href)。但是您使用的 xpath 处理器可能有问题,因为此 xpath 的结果将所有冒号“:”替换为破折号“-”(与您的原始问题相反)。使用其他处理器会得到正确的结果(例如freeformatter.com/xpath-tester.html#ad-output) -
谢谢。我认为xpath测试工具是罪魁祸首,在php中测试/调试之后问题就解决了。
标签: xml xpath xml-parsing