Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用html作为xml进行XSLT转换?_Html_Xml_Xslt_Yql - Fatal编程技术网

如何使用html作为xml进行XSLT转换?

如何使用html作为xml进行XSLT转换?,html,xml,xslt,yql,Html,Xml,Xslt,Yql,我想用YQL对HTML页面进行一些XSLT转换。以下行用于获取HTML: select * from html where url="http://example.com/somepage" and xpath='//div[@class="article-text"]' 如何将select*from xslt where…应用于上一个结果 不确定,因为我以前没有使用过YQL,但我想您必须反过来:使用XSLT从HTML中获取结果,然后应用YQL查询以获取XML作为结果: XSLT:

我想用YQL对HTML页面进行一些XSLT转换。以下行用于获取HTML:

select * from html where url="http://example.com/somepage" and
      xpath='//div[@class="article-text"]'

如何将
select*from xslt where…
应用于上一个结果

不确定,因为我以前没有使用过YQL,但我想您必须反过来:使用XSLT从HTML中获取结果,然后应用YQL查询以获取XML作为结果:

XSLT:

这将导致

<results>
   <articletext>Text of article</articletext>
</results>


. 我没有仅仅粘贴链接,而是调整了示例中的XSLT部分以匹配您的查询。

注意HTML不是基于XML的语言(尽管XHTML是)。如果您想使用XML工具对HTML进行操作,则需要找到HTML解析器(例如,基于Apache Xerces的解析器),或者使用类似W3C的工具将HTML预转换为XHTML。

如果我使用YQL()进行第一次查询,则返回XML()。所以,问题是关于使用我从xslt中选择的
select*的正确YQL语法。谢谢。我正在阅读相同的SO建议-它在我的案例中不起作用,因为我的
http://example.com/somepage
返回html,而不是xml,我得到
无法处理提要和样式表:无效的xml文档
错误。
select * from xslt where stylesheet="url/name-of.xsl" and 
url="http://example.com/somepage"
<results>
   <articletext>Text of article</articletext>
</results>