我正在尝试使用WP All Import插件映射XML以导入到Wordpress,但在尝试了几种方法来获取此图像的“scr”后我陷入困境:
<content type="html">
<div align="center" class="post-cover">
<img src="IMG.jpg"/>
<ul>
<li></li>
<li></li>
</ul>
</div>
</content>
我尝试了{content[1]/div[1]/img/@src}
和{content[1]/div/img/@src}
,但没有成功。
确实以某种方式工作的唯一途径是{content[@type = "html"]}
和{content[1]}
,其中显示了<content>
内的所有html。
如果有必要,我可以使用记事本批量编辑一些内容,例如删除type="html"
,强制它将内部div识别为孩子,但这也是我已经尝试过的东西。不幸的是,内容被视为简单的文本。
答案 0 :(得分:1)
你确定<content>
中看起来像HTML的东西实际上只是文字吗? tree view image you linked to表明它只是文字:例如<
中的<div
实际上是一个转义的文字<
,而不是<div
代码的开头。
如果您在纯文本编辑器中查看XML / HTML,您可能会看到<content> <div align=...
在这种情况下,<content>
没有元素子元素,只有纯文本。您无法使用XPath从中选择img/@src
之类的节点,因为它没有任何此类节点。如果要对其应用XPath,则必须找到将其解析为XML或HTML的方法。
答案 1 :(得分:1)
以下使用R和XML库工作。刚刚使用了<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
'//img/@src'
输出:
library(XML)
html = '<content type="html">
<div align="center" class="post-cover">
<img src="IMG.jpg"/>
<ul>
<li></li>
<li></li>
</ul>
</div>
</content>'
doc = htmlParse(html, asText=TRUE)
src = xpathSApply(doc, '//img/@src')