2014-12-06 52 views
0

我不知道这是可能的或不只是javascript/jquery。我有一些xml文件,我经常阅读和使用XPath DISPLY,但XML文件与HTML元素像这样的结构:获取xml文件的外部xml结构到一个字符串与jquery

<?xml version="1.0" encoding="UTF-8"?> 
<catalog> 
<outcome> 
    <title>1.1</title> 
    <section> 
    <p>some text as an intro: 
     <ul> 
     <li>part of list</li> 
     <li>part of list</li> 
     </ul> 
    </p> 
    <p>more text</p> 
    </section> 
</outcome> 

<outcome> 
<title>1.2</title> 
<section> 
    <p>some text as an intro: 
     <ul> 
     <li>part of list</li> 
     <li>part of list</li> 
     </ul> 
    </p> 
    <p>more text</p> 
    </section> 
</outcome> 
</catalog> 

我想显示一个select元素的所有的子孙。使用javascript,我知道如何加载xml并选择我需要的元素,并且我知道如何遍历节点,但是有可能只是将节点及其后代作为字符串来获取?然后,我可以只需要字符串并附加一个div,如element.html(“string”)。我会让我的CSS风格的元素根据需要。 这是可能的JavaScript?我知道xsl可以将其作为整个页面来完成,但我只需要一个大型xml的一小部分。

回答

1

如果你需要操作新的HTML插入它(如添加类等)之前,可以做相当简单使用jQuery通过将其视为HTML

$(function() { 
    $.get('data.xml', function(xml) { 
    $(xml).find('outcome').each(function() { 
     $('body').append($(this).html()); 
    }); 
    }, 'html'); 
}); 

,这也是failry琐碎

DEMO

+0

这是伟大的 - 我可以通过元素的内容过滤。在这个例子中,我只需要包含“1.1”的<title>元素的结果。我试图使用'var nodes = xml.evaluate(path,xml,null,XPathResult.ANY_TYPE,null); var serializer = new XMLSerializer(); var str = serializer.serializeToString(xml); alert(str);'我选择了Title元素的'path' – <span class="text-secondary"> <small> <a rel="noopener" target="_blank" href="https://stackoverflow.com/users/2155529/">Cory</a></span> <span>2014-12-06 02:35:01</span> </small> </span> </p> </div> </div> </div> <div itemprop="comment" class="post-comment"> <div class="row"> <div class="col-lg-1"><span class="text-secondary">+0</span></div> <div class="col-lg-11"> <p class="commenttext">可以使用jQuery方法来过滤掉你想要的东西。您可能还需要使用'$ .parseXML()',似乎很难将'title'换成另一个标签。内部的jQuery可能会将它视为xml doc – <span class="text-secondary"> <small> <a rel="noopener" target="_blank" href="https://stackoverflow.com/users/1175966/">charlietfl</a></span> <span>2014-12-06 02:41:16</span> </small> </span> </p> </div> </div> </div> <div itemprop="comment" class="post-comment"> <div class="row"> <div class="col-lg-1"><span class="text-secondary">+0</span></div> <div class="col-lg-11"> <p class="commenttext">$(xml).find(“结果标题:包含('1.1')”)得到它 - 谢谢! – <span class="text-secondary"> <small> <a rel="noopener" target="_blank" href="https://stackoverflow.com/users/2155529/">Cory</a></span> <span>2014-12-06 02:44:22</span> </small> </span> </p> </div> </div> </div> </div> </div> </article> <div> <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-6208739752673518" data-ad-slot="4319274062" 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://cn.voidcc.com/question/p-begtvtkb-de.html" target="_blank" title="XML字符串到文件"> XML字符串到文件 </a> </li> <li> 2. <a href="http://cn.voidcc.com/question/p-reghgfwl-np.html" target="_blank" title="读取XML文件结构和出口为字符串"> 读取XML文件结构和出口为字符串 </a> </li> <li> 3. <a href="http://cn.voidcc.com/question/p-ebrywlzb-ue.html" target="_blank" title="获取XML属性对甲骨文CLOB与XML结构"> 获取XML属性对甲骨文CLOB与XML结构 </a> </li> <li> 4. <a href="http://cn.voidcc.com/question/p-bcrmbmgi-bh.html" target="_blank" title="自动格式化一个长的外部xml字符串"> 自动格式化一个长的外部xml字符串 </a> </li> <li> 5. <a href="http://cn.voidcc.com/question/p-cprvsnwq-dq.html" target="_blank" title="XML文件读取字符串失败"> XML文件读取字符串失败 </a> </li> <li> 6. <a href="http://cn.voidcc.com/question/p-mllggehd-sx.html" target="_blank" title="Jquery获取xml文件"> Jquery获取xml文件 </a> </li> <li> 7. <a href="http://cn.voidcc.com/question/p-ngcjqfem-hb.html" target="_blank" title="如何验证XML字符串针对XML架构文件"> 如何验证XML字符串针对XML架构文件 </a> </li> <li> 8. <a href="http://cn.voidcc.com/question/p-nfuglrsd-nt.html" target="_blank" title="根据字符串的第一个字符拆分XML文件"> 根据字符串的第一个字符拆分XML文件 </a> </li> <li> 9. <a href="http://cn.voidcc.com/question/p-dvbwykya-hq.html" target="_blank" title="转换XML结构到另一个XML结构"> 转换XML结构到另一个XML结构 </a> </li> <li> 10. <a href="http://cn.voidcc.com/question/p-uvbycapp-cv.html" target="_blank" title="保存字符串到XML文件"> 保存字符串到XML文件 </a> </li> <li> 11. <a href="http://cn.voidcc.com/question/p-fxgpdhjn-oy.html" target="_blank" title="PHP字符串到XML文件"> PHP字符串到XML文件 </a> </li> <li> 12. <a href="http://cn.voidcc.com/question/p-xvdlbmwu-rg.html" target="_blank" title="写入字符串到XML文件"> 写入字符串到XML文件 </a> </li> <li> 13. <a href="http://cn.voidcc.com/question/p-psfvsplf-pe.html" target="_blank" title="使用PowerShell打开一个文件夹结构到XML文件"> 使用PowerShell打开一个文件夹结构到XML文件 </a> </li> <li> 14. <a href="http://cn.voidcc.com/question/p-hymejqcg-sy.html" target="_blank" title="与LINQ读取XML文件到XML"> 与LINQ读取XML文件到XML </a> </li> <li> 15. <a href="http://cn.voidcc.com/question/p-oigmvhqx-ug.html" target="_blank" title="获取XML节点,与XML结束"> 获取XML节点,与XML结束 </a> </li> <li> 16. <a href="http://cn.voidcc.com/question/p-brznuoqt-ss.html" target="_blank" title="如何替换xml文件中的一部分字符串?"> 如何替换xml文件中的一部分字符串? </a> </li> <li> 17. <a href="http://cn.voidcc.com/question/p-fstdynds-hb.html" target="_blank" title="C#词典的层次结构到xml字符串?"> C#词典的层次结构到xml字符串? </a> </li> <li> 18. <a href="http://cn.voidcc.com/question/p-wcqukalv-oz.html" target="_blank" title="解析xml字符串并获取值"> 解析xml字符串并获取值 </a> </li> <li> 19. <a href="http://cn.voidcc.com/question/p-plzesbsb-gv.html" target="_blank" title="使用SSIS字符串从XML文件中获取长字符串到数据库字符串似乎太短"> 使用SSIS字符串从XML文件中获取长字符串到数据库字符串似乎太短 </a> </li> <li> 20. <a href="http://cn.voidcc.com/question/p-wqkxllpf-nq.html" target="_blank" title="转换XML字符串到Internet Explorer XML文件 - C#,ASP.NET"> 转换XML字符串到Internet Explorer XML文件 - C#,ASP.NET </a> </li> <li> 21. <a href="http://cn.voidcc.com/question/p-kapkbwvn-dt.html" target="_blank" title="比较两个XML文件的结构"> 比较两个XML文件的结构 </a> </li> <li> 22. <a href="http://cn.voidcc.com/question/p-tfwoebuz-a.html" target="_blank" title="加载外部xml文件?"> 加载外部xml文件? </a> </li> <li> 23. <a href="http://cn.voidcc.com/question/p-rytpmyvs-gs.html" target="_blank" title="打开外部XML文件"> 打开外部XML文件 </a> </li> <li> 24. <a href="http://cn.voidcc.com/question/p-bohvwugj-hz.html" target="_blank" title="回应外部XML文件"> 回应外部XML文件 </a> </li> <li> 25. <a href="http://cn.voidcc.com/question/p-crdlwizv-hz.html" target="_blank" title="从一个结构转换XML到另一个结构"> 从一个结构转换XML到另一个结构 </a> </li> <li> 26. <a href="http://cn.voidcc.com/question/p-bhqyueoz-bw.html" target="_blank" title="dreamweaver结构xml文件"> dreamweaver结构xml文件 </a> </li> <li> 27. <a href="http://cn.voidcc.com/question/p-gklnphwu-nx.html" target="_blank" title="转换平板XML字符串到树状结构"> 转换平板XML字符串到树状结构 </a> </li> <li> 28. <a href="http://cn.voidcc.com/question/p-qpmwkqzx-os.html" target="_blank" title="XML值不会读取到字符串"> XML值不会读取到字符串 </a> </li> <li> 29. <a href="http://cn.voidcc.com/question/p-hpwpcmgh-ps.html" target="_blank" title="Flash中的XML应该从外部xml文件中获取数据"> Flash中的XML应该从外部xml文件中获取数据 </a> </li> <li> 30. <a href="http://cn.voidcc.com/question/p-amnpcdok-rc.html" target="_blank" title="前,在XML文件中的字符串"> 前,在XML文件中的字符串 </a> </li> </ul> </div> <div> <script async src="//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="3534119089"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> <div class="padding-top-10"></div> </div> </div> <script type="text/javascript" src="http://img2.voidcc.com/voidso/script/side.js?t=1652515421853"></script> <script type="text/javascript" src="http://img2.voidcc.com/voidso/plugin/highlight/highlight.pack.js"></script> <link href="http://img2.voidcc.com/voidso/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="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <!-- VOIDCC问答侧边栏广告 --> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-6208739752673518" data-ad-slot="3862022848" 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://cn.voidcc.com/question/p-uhtfjkja-bdc.html" target="_blank" title="如何在已经有“扩展”的Activity中添加MapView?"> 如何在已经有“扩展”的Activity中添加MapView? </a> </li> <li class="side_article_list_item"> 2. <a href="http://cn.voidcc.com/question/p-hvulthab-bmn.html" target="_blank" title="从排列表创建数据帧,并遍历它"> 从排列表创建数据帧,并遍历它 </a> </li> <li class="side_article_list_item"> 3. <a href="http://cn.voidcc.com/question/p-qcrvlzxc-bnh.html" target="_blank" title="PHP跳过循环基于查询结果集的迭代"> PHP跳过循环基于查询结果集的迭代 </a> </li> <li class="side_article_list_item"> 4. <a href="http://cn.voidcc.com/question/p-hrdhauve-bcw.html" target="_blank" title="iOS - mp3文件没有播放,没有错误?"> iOS - mp3文件没有播放,没有错误? </a> </li> <li class="side_article_list_item"> 5. <a href="http://cn.voidcc.com/question/p-bshhxmqv-vg.html" target="_blank" title="手动创建类型标记"> 手动创建类型标记 </a> </li> <li class="side_article_list_item"> 6. <a href="http://cn.voidcc.com/question/p-zitdgtmy-vk.html" target="_blank" title="Unix查找与目录匹配的目录"> Unix查找与目录匹配的目录 </a> </li> <li class="side_article_list_item"> 7. <a href="http://cn.voidcc.com/question/p-ncsxiepy-vh.html" target="_blank" title="如何使用kwargs在matplotlib.axes.Axes.arrow蟒蛇2.7"> 如何使用kwargs在matplotlib.axes.Axes.arrow蟒蛇2.7 </a> </li> <li class="side_article_list_item"> 8. <a href="http://cn.voidcc.com/question/p-fprzoqdv-uu.html" target="_blank" title="如何线程安全地读取和写入数据库?"> 如何线程安全地读取和写入数据库? </a> </li> <li class="side_article_list_item"> 9. <a href="http://cn.voidcc.com/question/p-bmtlseyg-uv.html" target="_blank" title="只有当输入至少有一个数字时才显示mat-autocomplete"> 只有当输入至少有一个数字时才显示mat-autocomplete </a> </li> <li class="side_article_list_item"> 10. <a href="http://cn.voidcc.com/question/p-mkildzwx-bnq.html" target="_blank" title="我想输入数据到parse.com中的custmom列,但我得到一个错误"> 我想输入数据到parse.com中的custmom列,但我得到一个错误 </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://cn.voidcc.com/question/p-begtvtkb-de.html" target="_blank" title="XML字符串到文件"> XML字符串到文件 </a> </li> <li class="side_article_list_item"> 2. <a href="http://cn.voidcc.com/question/p-reghgfwl-np.html" target="_blank" title="读取XML文件结构和出口为字符串"> 读取XML文件结构和出口为字符串 </a> </li> <li class="side_article_list_item"> 3. <a href="http://cn.voidcc.com/question/p-ebrywlzb-ue.html" target="_blank" title="获取XML属性对甲骨文CLOB与XML结构"> 获取XML属性对甲骨文CLOB与XML结构 </a> </li> <li class="side_article_list_item"> 4. <a href="http://cn.voidcc.com/question/p-bcrmbmgi-bh.html" target="_blank" title="自动格式化一个长的外部xml字符串"> 自动格式化一个长的外部xml字符串 </a> </li> <li class="side_article_list_item"> 5. <a href="http://cn.voidcc.com/question/p-cprvsnwq-dq.html" target="_blank" title="XML文件读取字符串失败"> XML文件读取字符串失败 </a> </li> <li class="side_article_list_item"> 6. <a href="http://cn.voidcc.com/question/p-mllggehd-sx.html" target="_blank" title="Jquery获取xml文件"> Jquery获取xml文件 </a> </li> <li class="side_article_list_item"> 7. <a href="http://cn.voidcc.com/question/p-ngcjqfem-hb.html" target="_blank" title="如何验证XML字符串针对XML架构文件"> 如何验证XML字符串针对XML架构文件 </a> </li> <li class="side_article_list_item"> 8. <a href="http://cn.voidcc.com/question/p-nfuglrsd-nt.html" target="_blank" title="根据字符串的第一个字符拆分XML文件"> 根据字符串的第一个字符拆分XML文件 </a> </li> <li class="side_article_list_item"> 9. <a href="http://cn.voidcc.com/question/p-dvbwykya-hq.html" target="_blank" title="转换XML结构到另一个XML结构"> 转换XML结构到另一个XML结构 </a> </li> <li class="side_article_list_item"> 10. <a href="http://cn.voidcc.com/question/p-uvbycapp-cv.html" target="_blank" title="保存字符串到XML文件"> 保存字符串到XML文件 </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://cn.voidcc.com/contact">联系我们</a></li> <li>© 2020 CN.VOIDCC.COM</li> <li><a rel="nofollow" href="https://beian.miit.gov.cn/" target="_blank">沪ICP备13005482号-13</a></li> <li><script type="text/javascript" src="https://s9.cnzz.com/z_stat.php?id=1280098168&web_id=1280098168"></script></li> <li><a href="http://cn.voidcc.com/" target="_blank" title="程序问答园区">简体中文</a></li> <li><a href="http://hk.voidcc.com/" target="_blank" title="程序問答園區">繁體中文</a></li> <li><a href="http://ru.voidcc.com/" target="_blank" title="поле вопросов и ответов">Русский</a></li> <li><a href="http://de.voidcc.com/" target="_blank" title="Frage - und - antwort - Park">Deutsch</a></li> <li><a href="http://es.voidcc.com/" target="_blank" title="Preguntas y respuestas">Español</a></li> <li><a href="http://hi.voidcc.com/" target="_blank" title="कार्यक्रम प्रश्न और उत्तर पार्क">हिन्दी</a></li> <li><a href="http://it.voidcc.com/" target="_blank" title="IL Programma di chiedere Park">Italiano</a></li> <li><a href="http://ja.voidcc.com/" target="_blank" title="プログラム問答園区">日本語</a></li> <li><a href="http://ko.voidcc.com/" target="_blank" title="프로그램 문답 단지">한국어</a></li> <li><a href="http://pl.voidcc.com/" target="_blank" title="program o park">Polski</a></li> <li><a href="http://tr.voidcc.com/" target="_blank" title="Program soru ve cevap parkı">Türkçe</a></li> <li><a href="http://vi.voidcc.com/" target="_blank" title="Đáp ứng viên">Tiếng Việt</a></li> <li><a href="http://fr.voidcc.com/" target="_blank" title="Programme interrogation Park">Française</a></li> </ul> </div> </div> </div> </div> </div> </footer> <!-- / footer --> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-77509369-5"></script> <script> window.dataLayer = window.dataLayer || []; function gtag() { dataLayer.push(arguments); } gtag('js', new Date()); gtag('config', 'UA-77509369-5'); </script> <script> var _hmt = _hmt || []; (function () { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?67d4731349f0b00136755b80364ce381"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script> </body> </html>