我有一个 XML 文档,它是一个 2003 电子表格 XML 文档,我需要从中获取数据。问题是单元格样式意味着 XML 将包含没有数据但应用了样式的行。我需要返回每行的第 10 个单元格中包含数据的行的列表。我怎么能用 jQuery 做到这一点?
XML 示例:
<Worksheet ss:Name="Space">
<Names>
<NamedRange ss:Name="_FilterDatabase" ss:RefersTo="=Space!R1C1:R8C13"
ss:Hidden="1"/>
</Names>
<Table ss:ExpandedColumnCount="13" ss:ExpandedRowCount="995" x:FullColumns="1"
x:FullRows="1" ss:StyleID="s114" ss:DefaultColumnWidth="46.5">
<Column ss:StyleID="s115" ss:AutoFitWidth="0"/>
<Column ss:StyleID="s115" ss:AutoFitWidth="0" ss:Width="142.5"/>
<Column ss:StyleID="s115" ss:AutoFitWidth="0" ss:Width="95.25"/>
<Column ss:StyleID="s115" ss:AutoFitWidth="0" ss:Width="75.75"/>
<Column ss:StyleID="s115" ss:AutoFitWidth="0" ss:Width="93"/>
<Column ss:StyleID="s115" ss:AutoFitWidth="0" ss:Width="129"/>
<Column ss:StyleID="s115" ss:AutoFitWidth="0" ss:Width="17.25"/>
<Column ss:StyleID="s115" ss:AutoFitWidth="0" ss:Width="41.25"/>
<Column ss:StyleID="s115" ss:Width="236.25"/>
<Column ss:StyleID="s115" ss:AutoFitWidth="0" ss:Width="135.75"/>
<Column ss:StyleID="s116" ss:Width="51.75"/>
<Column ss:StyleID="s116" ss:Width="53.25"/>
<Column ss:StyleID="s116" ss:Width="18.75"/>
<Row ss:AutoFitHeight="0" ss:Height="63" ss:StyleID="s117">
<Cell ss:StyleID="s87"><Data ss:Type="String">Name</Data><NamedCell
ss:Name="_FilterDatabase"/><NamedCell ss:Name="Space.Name"/></Cell>
<Cell ss:StyleID="s87"><Data ss:Type="String">CreatedBy</Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
<Cell ss:StyleID="s88"><Data ss:Type="String">CreatedOn</Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
<Cell ss:StyleID="s87"><Data ss:Type="String">Category</Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
<Cell ss:StyleID="s87"><Data ss:Type="String">FloorName</Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
<Cell ss:StyleID="s87"><Data ss:Type="String">Description</Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
<Cell ss:StyleID="s86"><Data ss:Type="String">ExtSystem</Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
<Cell ss:StyleID="s86"><Data ss:Type="String">ExtObject</Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
<Cell ss:StyleID="s86"><Data ss:Type="String">ExtIdentifier</Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
<Cell ss:StyleID="s87"><Data ss:Type="String">RoomTag</Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
<Cell ss:StyleID="s112"><Data ss:Type="String">UsableHeight</Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
<Cell ss:StyleID="s112"><Data ss:Type="String">GrossArea</Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
<Cell ss:StyleID="s195"><Data ss:Type="String">NetArea</Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
</Row>
<Row>
<Cell ss:StyleID="s125"><Data ss:Type="Number">100</Data><NamedCell
ss:Name="_FilterDatabase"/><NamedCell ss:Name="Space.Name"/></Cell>
<Cell ss:StyleID="s126"><Data ss:Type="String">.com</Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
<Cell ss:StyleID="s93"><Data ss:Type="DateTime">2012-11-01T11:05:28.000</Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
<Cell ss:StyleID="s119"><Data ss:Type="String">Undefined</Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
<Cell ss:StyleID="s120"><Data ss:Type="String">01 Main Level</Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
<Cell ss:StyleID="s99"><Data ss:Type="String">GATHER</Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
<Cell ss:StyleID="s121"><NamedCell ss:Name="_FilterDatabase"/></Cell>
<Cell ss:StyleID="s121"><NamedCell ss:Name="_FilterDatabase"/></Cell>
<Cell ss:StyleID="s121"><NamedCell ss:Name="_FilterDatabase"/></Cell>
<Cell ss:StyleID="s122"><Data ss:Type="String">100 - Gathering Room</Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
<Cell ss:StyleID="s123"><Data ss:Type="Number">52</Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
<Cell ss:StyleID="s123"><Data ss:Type="Number">1674.1096940375501</Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
<Cell ss:StyleID="s124"><Data ss:Type="String">n/a</Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
</Row>
到目前为止,我的代码将返回所有行,但未针对具有数据的单元格进行过滤:
$(xml).find("Worksheet[ss\\:Name='Space'] Table Row")
我尝试在查找末尾应用 .filter ,但我不明白应该如何应用过滤器。我将不胜感激任何帮助。