2013-04-14 45 views
1

我写了下面的代码:混淆引入nokogiri :: XML ::#文本的文本输出

require 'nokogiri' 
require 'pp' 

html = <<-END 
<html> 

    <head> 

    <title> A Dirge </title> 

    <link rel  = "schema.DC" 
      href = "http://purl.org/DC/elements/1.0/"> 

    <meta name = "DC.Title" 
      content = "A Dirge"> 

    <meta name = "DC.Creator" 
      content = "Shelley, Percy Bysshe"> 

    <meta name = "DC.Type" 
      content = "poem"> 

    <meta name = "DC.Date" 
      content = "1820"> 

    <meta name = "DC.Format" 
      content = "text/html"> 

    <meta name = "DC.Language" 
      content = "en"> 

    </head> 

    <body><pre> 

      Rough wind, that moanest loud 
       Grief too sad for song; 
      Wild wind, when sullen cloud 
       Knells all the night long; 
      Sad storm, whose tears are vain, 
      Bare woods, whose branches strain, 
      Deep caves and dreary main, - 
       Wail, for the world's wrong! 

    </pre></body> 

    </html> 
END 

doc = Nokogiri::HTML::DocumentFragment.parse(html) 
pp doc 
doc.children.each do |ch| 
    p ch.text if ch.text? 
end 

但它输出:

"\n\n \n\n " 
"\n\n " 

现在我的问题是,为什么里面<pre>行。 <\pre>不打印?

任何人都可以帮我解决这个问题吗?

+0

在一个问题中,将您的输入数据降低到足以重现问题所需的最小值。在这种情况下,''块都不相关。保留''是好的,但不要打扰'<meta>'标签,这些标签不必要地混淆了事物。 – <span class="text-secondary"> <small> <span></span> </small> </span> </p> </div> </div> </div> </div> </div> </article> </div> <div class="answer-title"> <span class="text-logo margin-top-sm">A</span> <h2 class="title h4">回答</h2> </div> <div class="item-description text-md markdown-body margin-bottom-40 voidso"> <article class="board-top-1 padding-top-10"> <div class="post-col vote-info"> <span class="count">1<i class="fa fa-thumbs-up"></i></span> </div> <div class="post-offset"> <div class="answer fmt"> <p>的<code class="prettyprint-override">doc.children.each</code>块输出比多一点对我来说:</p> <pre> "\n\n \n\n " "\n\n " "\n\n " "\n\n " "\n\n " "\n\n " "\n\n " "\n\n " "\n\n \n\n " "\n\n \n" </pre> <p>这是正确的输出;这些是<code class="prettyprint-override"><html></code>的直接子节点的文本节点。</p> <p>我不确定你没有看到你想要的“行”。如果,例如,你想要的<code class="prettyprint-override"><pre></code>的内容,你可以做</p> <pre><code class="prettyprint-override">doc.xpath("pre").text </code></pre> <p>得到它。如果这不能为你回答问题,你必须澄清你的问题。</p> </div> <div class="post-info"> <div class="post-meta row"> <p class="text-secondary col-lg-6"> <span class="source"> <a rel="noopener" target="_blank" href="https://stackoverflow.com/q/16002944">来源</a> </span> </p> <p class="text-secondary col-lg-6"> <span class="float-right date"> <span>2013-04-14 18:47:35</span> </p> <p class="col-12"></p> <p class="col-12"></p></div> </div> </div> </article> <div> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-6208739752673518" data-ad-slot="1038284119" data-ad-format="auto" data-full-width-responsive="true"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> </div> <div class="clearfix"> </div> <div class="relative-box"> <div class="relative">相关问题</div> <ul class="relative_list"> <li> 1. <a href="http://www.uwenku.com/question/p-sybnvmqj-bhc.html" target="_blank" title="将Nokogiri输出写入文本文件"> 将Nokogiri输出写入文本文件 </a> </li> <li> 2. <a href="http://www.uwenku.com/question/p-ywnlhehg-su.html" target="_blank" title="引入nokogiri +通过文本"> 引入nokogiri +通过文本 </a> </li> <li> 3. <a href="http://www.uwenku.com/question/p-tezbighw-bez.html" target="_blank" title="文件输入/输出混淆"> 文件输入/输出混淆 </a> </li> <li> 4. <a href="http://www.uwenku.com/question/p-qmubpcve-wa.html" target="_blank" title="插入文本中引入nokogiri"> 插入文本中引入nokogiri </a> </li> <li> 5. <a href="http://www.uwenku.com/question/p-pgtnezaq-km.html" target="_blank" title="引入nokogiri和XML - 抓斗“TR” XML包含特定文本"> 引入nokogiri和XML - 抓斗“TR” XML包含特定文本 </a> </li> <li> 6. <a href="http://www.uwenku.com/question/p-cjbasffo-bkq.html" target="_blank" title="Java输入/输出混淆"> Java输入/输出混淆 </a> </li> <li> 7. <a href="http://www.uwenku.com/question/p-qzvoxcde-zc.html" target="_blank" title="HTML文本混淆器"> HTML文本混淆器 </a> </li> <li> 8. <a href="http://www.uwenku.com/question/p-cqkganrb-vh.html" target="_blank" title="在PERL中混淆文本"> 在PERL中混淆文本 </a> </li> <li> 9. <a href="http://www.uwenku.com/question/p-sixhsfay-rc.html" target="_blank" title="脚本引擎和混淆"> 脚本引擎和混淆 </a> </li> <li> 10. <a href="http://www.uwenku.com/question/p-cslcyyhf-tm.html" target="_blank" title="如何用Selenium和Nokogiri将文本输入到文本框中?"> 如何用Selenium和Nokogiri将文本输入到文本框中? </a> </li> <div> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <ins class="adsbygoogle" style="display:block; text-align:center;" data-ad-layout="in-article" data-ad-format="fluid" data-ad-client="ca-pub-6208739752673518" data-ad-slot="4606349252"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> <li> 11. <a href="http://www.uwenku.com/question/p-muundvwb-bda.html" target="_blank" title="混淆输出?"> 混淆输出? </a> </li> <li> 12. <a href="http://www.uwenku.com/question/p-vmtleqjd-ug.html" target="_blank" title="混淆输出"> 混淆输出 </a> </li> <li> 13. <a href="http://www.uwenku.com/question/p-oezlrljw-bcy.html" target="_blank" title="Nokogiri XML文件输出位于哪里?"> Nokogiri XML文件输出位于哪里? </a> </li> <li> 14. <a href="http://www.uwenku.com/question/p-zjdqtynb-wr.html" target="_blank" title="使用引入nokogiri如何使用引入nokogiri :: XML ::文本错误的参数数目"> 使用引入nokogiri如何使用引入nokogiri :: XML ::文本错误的参数数目 </a> </li> <li> 15. <a href="http://www.uwenku.com/question/p-hhgymnof-qm.html" target="_blank" title="文本与EditText中的ImageSpan混淆"> 文本与EditText中的ImageSpan混淆 </a> </li> <li> 16. <a href="http://www.uwenku.com/question/p-pwezddsl-xm.html" target="_blank" title="使用base64_encode()的文本混淆处理"> 使用base64_encode()的文本混淆处理 </a> </li> <li> 17. <a href="http://www.uwenku.com/question/p-qftoleuh-bmw.html" target="_blank" title="使用引入nokogiri对文本节点交换一个DocumentFragment的"> 使用引入nokogiri对文本节点交换一个DocumentFragment的 </a> </li> <li> 18. <a href="http://www.uwenku.com/question/p-cfwrmewm-hz.html" target="_blank" title="输入文本,带状假路径,输入文本输出"> 输入文本,带状假路径,输入文本输出 </a> </li> <li> 19. <a href="http://www.uwenku.com/question/p-snogcmwr-qy.html" target="_blank" title="ROR +使用NOKOGIRI修改包含多个文本的XML文本"> ROR +使用NOKOGIRI修改包含多个文本的XML文本 </a> </li> <li> 20. <a href="http://www.uwenku.com/question/p-asydexgo-uz.html" target="_blank" title="c输出混淆"> c输出混淆 </a> </li> <li> 21. <a href="http://www.uwenku.com/question/p-ozaxdmbv-bho.html" target="_blank" title="F#混淆输出"> F#混淆输出 </a> </li> <li> 22. <a href="http://www.uwenku.com/question/p-dyosjjsd-co.html" target="_blank" title="TensorFlow混淆输出"> TensorFlow混淆输出 </a> </li> <li> 23. <a href="http://www.uwenku.com/question/p-opfsuesw-yb.html" target="_blank" title="GPA输入混淆"> GPA输入混淆 </a> </li> <li> 24. <a href="http://www.uwenku.com/question/p-nigimvzj-vr.html" target="_blank" title="XML输出到文本文件?"> XML输出到文本文件? </a> </li> <li> 25. <a href="http://www.uwenku.com/question/p-fqhagwba-g.html" target="_blank" title="输入和输出文本文件"> 输入和输出文本文件 </a> </li> <li> 26. <a href="http://www.uwenku.com/question/p-pxbhzxcz-gt.html" target="_blank" title="使用nokogiri在XML中查找文本"> 使用nokogiri在XML中查找文本 </a> </li> <li> 27. <a href="http://www.uwenku.com/question/p-tyhbcakv-bbe.html" target="_blank" title="引入nokogiri命名空间的混乱"> 引入nokogiri命名空间的混乱 </a> </li> <li> 28. <a href="http://www.uwenku.com/question/p-pdjaulvt-wm.html" target="_blank" title="Unicode文本混淆Mysql查询"> Unicode文本混淆Mysql查询 </a> </li> <li> 29. <a href="http://www.uwenku.com/question/p-qmnzcdoh-qs.html" target="_blank" title="文本对齐属性混淆"> 文本对齐属性混淆 </a> </li> <li> 30. <a href="http://www.uwenku.com/question/p-wcxgbkco-bke.html" target="_blank" title="随机文本混淆算法失败"> 随机文本混淆算法失败 </a> </li> </ul> </div> <div> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <ins class="adsbygoogle" style="display:block" data-ad-format="autorelaxed" data-ad-client="ca-pub-6208739752673518" data-ad-slot="1575177025"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> <div class="padding-top-10"></div> </div> </div> <script type="text/javascript" src="http://img.uwenku.com/uwenku/script/side.js?t=1644592048176"></script> <script type="text/javascript" src="http://img.uwenku.com/uwenku/plugin/highlight/highlight.pack.js"></script> <link href="http://img.uwenku.com/uwenku/plugin/highlight/styles/docco.css" media="screen" rel="stylesheet" type="text/css" /> <script type="text/javascript"> $('pre').each(function(i, e) { hljs.highlightBlock(e, "<span class='indent'> </span>", false) }); </script> <div class="col-lg-3 col-md-4 col-sm-5"> <div id="rightTop"> <div class="row sidebar panel panel-default"> <div class="panel-heading font-bold"> 每日一句 </div> <div class="panel-body m-b-sm m-t-sm clearfix"> 每一个你不满意的现在,都有一个你没有努力的曾经。 </div> </div> <div class="row"> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-6208739752673518" data-ad-slot="5415218910" data-ad-format="auto" data-full-width-responsive="true"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> <div class="row sidebar panel panel-default"> <div class="panel-heading font-bold"> 最新问题 </div> <div class="m-b-sm m-t-sm clearfix"> <ul class="side_article_list"> <li class="side_article_list_item"> 1. <a href="http://www.uwenku.com/question/p-tvgmrvpy-hb.html" target="_blank" title="Spyder 3.1.4 - 操作系统升级后无法配置Spyder"> Spyder 3.1.4 - 操作系统升级后无法配置Spyder </a> </li> <li class="side_article_list_item"> 2. <a href="http://www.uwenku.com/question/p-nrnjrlra-kr.html" target="_blank" title="能从应用程序的BeginRequest在第一次请求使用RewritePath"> 能从应用程序的BeginRequest在第一次请求使用RewritePath </a> </li> <li class="side_article_list_item"> 3. <a href="http://www.uwenku.com/question/p-xyxztndm-hw.html" target="_blank" title="如何使用带空格的HTML Git Diff?"> 如何使用带空格的HTML Git Diff? </a> </li> <li class="side_article_list_item"> 4. <a href="http://www.uwenku.com/question/p-fsgdmwpl-eb.html" target="_blank" title="如何使用setActiveItem进行卡片布局以基于radiobuttton选择显示面板?"> 如何使用setActiveItem进行卡片布局以基于radiobuttton选择显示面板? </a> </li> <li class="side_article_list_item"> 5. <a href="http://www.uwenku.com/question/p-zcmykspd-dh.html" target="_blank" title="为什么如果(a!= 65)没有执行?"> 为什么如果(a!= 65)没有执行? </a> </li> <li class="side_article_list_item"> 6. <a href="http://www.uwenku.com/question/p-vdmsgred-ex.html" target="_blank" title="字符串中最后2个括号之间的所有大写字母的正则表达式"> 字符串中最后2个括号之间的所有大写字母的正则表达式 </a> </li> <li class="side_article_list_item"> 7. <a href="http://www.uwenku.com/question/p-fricngen-z.html" target="_blank" title="由不同的解决方案调用的一个共享项目中的JS文件"> 由不同的解决方案调用的一个共享项目中的JS文件 </a> </li> <li class="side_article_list_item"> 8. <a href="http://www.uwenku.com/question/p-aiwiznwb-d.html" target="_blank" title="Java 8 DateTimeFormatterBuilder()。appendOptional不工作"> Java 8 DateTimeFormatterBuilder()。appendOptional不工作 </a> </li> <li class="side_article_list_item"> 9. <a href="http://www.uwenku.com/question/p-eoqvbwzw-cc.html" target="_blank" title="传数据从小孩到在母体阵营节目类型错误"> 传数据从小孩到在母体阵营节目类型错误 </a> </li> <li class="side_article_list_item"> 10. <a href="http://www.uwenku.com/question/p-pjpbavcz-bmd.html" target="_blank" title="谷歌附近的通知分析"> 谷歌附近的通知分析 </a> </li> </ul> </div> </div> </div> <p class="article-nav-bar"></p> <div class="row sidebar article-nav"> <div class="row box_white visible-sm visible-md visible-lg margin-zero"> <div class="top"> <h3 class="title"><i class="glyphicon glyphicon-th-list"></i> 相关问题</h3> </div> <div class="article-relative-content"> <ul class="side_article_list"> <li class="side_article_list_item"> 1. <a href="http://www.uwenku.com/question/p-sybnvmqj-bhc.html" target="_blank" title="将Nokogiri输出写入文本文件"> 将Nokogiri输出写入文本文件 </a> </li> <li class="side_article_list_item"> 2. <a href="http://www.uwenku.com/question/p-ywnlhehg-su.html" target="_blank" title="引入nokogiri +通过文本"> 引入nokogiri +通过文本 </a> </li> <li class="side_article_list_item"> 3. <a href="http://www.uwenku.com/question/p-tezbighw-bez.html" target="_blank" title="文件输入/输出混淆"> 文件输入/输出混淆 </a> </li> <li class="side_article_list_item"> 4. <a href="http://www.uwenku.com/question/p-qmubpcve-wa.html" target="_blank" title="插入文本中引入nokogiri"> 插入文本中引入nokogiri </a> </li> <li class="side_article_list_item"> 5. <a href="http://www.uwenku.com/question/p-pgtnezaq-km.html" target="_blank" title="引入nokogiri和XML - 抓斗“TR” XML包含特定文本"> 引入nokogiri和XML - 抓斗“TR” XML包含特定文本 </a> </li> <li class="side_article_list_item"> 6. <a href="http://www.uwenku.com/question/p-cjbasffo-bkq.html" target="_blank" title="Java输入/输出混淆"> Java输入/输出混淆 </a> </li> <li class="side_article_list_item"> 7. <a href="http://www.uwenku.com/question/p-qzvoxcde-zc.html" target="_blank" title="HTML文本混淆器"> HTML文本混淆器 </a> </li> <li class="side_article_list_item"> 8. <a href="http://www.uwenku.com/question/p-cqkganrb-vh.html" target="_blank" title="在PERL中混淆文本"> 在PERL中混淆文本 </a> </li> <li class="side_article_list_item"> 9. <a href="http://www.uwenku.com/question/p-sixhsfay-rc.html" target="_blank" title="脚本引擎和混淆"> 脚本引擎和混淆 </a> </li> <li class="side_article_list_item"> 10. <a href="http://www.uwenku.com/question/p-cslcyyhf-tm.html" target="_blank" title="如何用Selenium和Nokogiri将文本输入到文本框中?"> 如何用Selenium和Nokogiri将文本输入到文本框中? </a> </li> </ul> </div> </div> </div> </div> </div> </div> </div><!-- wrap end--> <!-- footer --> <footer id="footer"> <div class="bg-simple lt"> <div class="container"> <div class="row padder-v m-t"> <div class="col-xs-8"> <ul class="list-inline"> <li><a href="http://www.uwenku.com/contact">联系我们</a></li> <li>© 2020 UWENKU.COM</li> <li><a target="_blank" href="https://beian.miit.gov.cn/">沪ICP备13005482号-4</a></li> <li><script type="text/javascript" src="https://v1.cnzz.com/z_stat.php?id=1280101193&web_id=1280101193"></script></li> <li><a href="http://www.uwenku.com/" target="_blank" title="优文库">简体中文</a></li> <li><a href="http://hk.uwenku.com/" target="_blank" title="優文庫">繁體中文</a></li> <li><a href="http://ru.uwenku.com/" target="_blank" title="поле вопросов и ответов">Русский</a></li> <li><a href="http://de.uwenku.com/" target="_blank" title="Frage - und - antwort - Park">Deutsch</a></li> <li><a href="http://es.uwenku.com/" target="_blank" title="Preguntas y respuestas">Español</a></li> <li><a href="http://hi.uwenku.com/" target="_blank" title="कार्यक्रम प्रश्न और उत्तर पार्क">हिन्दी</a></li> <li><a href="http://it.uwenku.com/" target="_blank" title="IL Programma di chiedere Park">Italiano</a></li> <li><a href="http://ja.uwenku.com/" target="_blank" title="プログラム問答園区">日本語</a></li> <li><a href="http://ko.uwenku.com/" target="_blank" title="프로그램 문답 단지">한국어</a></li> <li><a href="http://pl.uwenku.com/" target="_blank" title="program o park">Polski</a></li> <li><a href="http://tr.uwenku.com/" target="_blank" title="Program soru ve cevap parkı">Türkçe</a></li> <li><a href="http://vi.uwenku.com/" target="_blank" title="Đáp ứng viên">Tiếng Việt</a></li> <li><a href="http://fr.uwenku.com/" target="_blank" title="Programme interrogation Park">Française</a></li> </ul> </div> </div> </div> </div> </div> </footer> <!-- / footer --> <script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?f78a970f17b19a79fc477a3378096f29"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script> </body> </html>