【问题标题】:Parsing a table in XML file with jquery使用 jquery 解析 XML 文件中的表
【发布时间】:2018-09-07 16:47:29
【问题描述】:

我必须解析一个 xml 文件,其中包含这样的部分:

<part>configuration</part>
<table>
  <thead>
    <tr>
      <th>Tester Name</th>
      <th>Campaign Name</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>john</td>
      <td>random</td>
    </tr>
  </tbody>
</table>

问题是我也必须解析另一个&lt;table&gt;,即在同一个文件中,另一个&lt;part&gt; 名称。 我进行了很多搜索,但找不到函数或方法来检索例如测试人员名称和活动名称。 我是 jquery 的初学者,这可能就是为什么我没有找到/不了解如何解析这些数据的原因。 感谢所有会帮助我的人! 无论是教程链接还是功能建议。

【问题讨论】:

  • 每个&lt;part&gt;&lt;table&gt; 组合的父级是什么?
  • 父级似乎是 在 之前关闭(例如 ... 然后是
    ...
    )。

标签: jquery xml parsing


【解决方案1】:

您可以使用jQuery.parseXML() 将字符串解析为 XML 文档。

然后您需要Next Adjacent Selector (“prev + next”) 才能选择零件元素旁边的表格。为了选择具有指定文本的部分元素,您需要使用:contains() Selector

sn-p:

var xml = `<start>
              <part>configuration</part>
               <table>
                  <thead>
                     <tr>
                        <th>Tester Name</th>
                        <th>Campaign Name</th>
                    </tr>
                 </thead>
                 <tbody>
                    <tr>
                      <td>john</td>
                      <td>random</td>
                    </tr>
                 </tbody>
              </table>
          </start>`;
          
          
var xmlDoc = $.parseXML( xml );  // parse xml string
var xml = $( xmlDoc );    // get the jQuery object
// find the table next to part tag containing.....
var tbl = $xml.find( "part:contains(configuration) + table" );

console.log(tbl.get(0).outerHTML);
&lt;script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"&gt;&lt;/script&gt;

【讨论】:

  • 非常感谢您的回答!这已经有所帮助,但我想知道是否有可能在某些 var 中获取 Tester name 和 Campaign name 的值(例如 var tester_name=...)。
  • First: xml.find("part:contains(configuration) + table th:first").text();和 xml.find("part:contains(configuration) + table th:eq(1)").text();第二个值
  • 啊太棒了!我找不到关于 th:first/eq 的任何信息。非常感谢!
猜你喜欢
  • 1970-01-01
  • 2014-03-01
  • 1970-01-01
  • 2012-08-25
  • 1970-01-01
  • 2012-04-12
  • 1970-01-01
  • 1970-01-01
  • 2011-09-09
相关资源
最近更新 更多