例如,在HTML代码的这一部分中,我想删除:
<script type="text/JavaScript" src="http://www.Google.com/coop/cse/brand?form=cse-search-Box&lang=fr"/>
这个代码
<li><!-- Search Google --><center> <form action="http://www.Google.fr/cse" ID="cse-search-Box" target="_blank"> <div> <input type="hIDden" name="cx" value="partner-pub-0959382714089534:mw3ssl65jk1"/> <input type="hIDden" name="IE" value="ISO-8859-1"/> <input type="text" name="q" size="31"/> <input type="submit" name="sa" value="Rechercher"/> </div> </form> <script type="text/JavaScript" src="http://www.Google.com/coop/cse/brand?form=cse-search-Box&lang=fr"/> </center> <!-- Search Google --></li>
我正在使用Web-Harvest生成一个xml文件,然后我必须删除一些特定标签.
我尝试了很多xpath(我正在使用HTML的主体):
> // body // * [not(name()=’script’)]
> // body // * [not(self :: script)]
> // body // * [not(starts-with(name(),’script’))]
> // body // * [not(contains(name(),’script’))]
但它不起作用.
请注意// body // * [name()=’script’]正在工作,但我希望相反……
你有什么想法吗?
或者更常见,如果您知道如何删除所有< script> <脚本/>标签使用Xpath,我也有兴趣:-)
提前致谢.
解决方法 首先,XPath选择现有文档中的节点,但不会删除它们.而你开始的路径// body // *选择body元素的所有子元素和后代元素.即使你现在添加一个像// body // * [not(self :: script)]这样的谓词,该路径仍然会选择像li和center元素这样的元素,这些元素本身不是脚本元素,但包含一个脚本元素.所以// body // * [not(self :: script)]是不选择任何非脚本元素的正确方法,但如果你想要删除脚本元素的原始中心元素,它就无济于事.这不是纯XPath可以为您做的事情,您需要转移到XSLT来转换文档,这样就可以删除任何脚本元素. 总结以上是内存溢出为你收集整理的html – XPATH获取所有标签没有和标签全部内容,希望文章能够帮你解决html – XPATH获取所有标签没有和标签所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)