【发布时间】:2020-08-30 18:06:59
【问题描述】:
我在 python3 中使用 lxml etree
我的 xpath 表达式是这样的,并且能够在我的 xhtml 中找到我正在寻找的元素。
root = tree.getroot()
map = {'epub': 'http://www.idpf.org/2007/ops', 'm': "http://www.w3.org/1998/Math/MathML"}
mathML_elements = tree.xpath(".//m:math", namespaces=map)
解析后的xhtml示例如下:
</td><td><m:math xmlns:m="http://www.w3.org/1998/Math/MathML" alttext="-500"><m:mrow><m:mo>-</m:mo><m:mn>500</m:mn></m:mrow></m:math></td><td>0</td></tr><tr><td>8</td><td>Betalt renter på lånet</td><td>413</td><td></td><td>+</td><td><m:math xmlns:m="http://www.w3.org/1998/Math/MathML" alttext="-413"><m:mrow><m:mo>-</m:mo><m:mn>413</m:mn></m:mrow></m:math></td><td>=</td><td><m:math xmlns:m="http://www.w3.org/1998/Math/MathML" alttext="-413"><m:mrow><m:mo>-</m:mo><m:mn>413</m:mn></m:mrow></m:math></td><td>+</td><td></td><td>0</td></tr><tr><td>9</td><td>Avskrivning av pc og inventar</td><td>300</td><td><m:math xmlns:m="http://www.w3.org/1998/Math/MathML" alttext="-300"><m:mrow><m:mo>-</m:mo><m:mn>300</m:mn></m:mrow></m:math></td><td>+</td><td></td><td>=</td><td><m:math xmlns:m="http://www.w3.org/1998/Math/MathML" alttext="-300"><m:mrow><m:mo>-</m:mo><m:mn>300</m:mn></m:mrow></m:math></td><td>+</td><td></td><td>0</td></tr><tr><td>10</td><td>Uttak eier privat</td><td><m:math xmlns:m="http://www.w3.org/1998/Math/MathML" alttext="-14 000"><m:mrow><m:mo>-</m:mo><m:mn>14 000</m:mn></m:mrow></m:math></td><td></td><td>+</td><td><m:math xmlns:m="http://www.w3.org/1998/Math/MathML" alttext="-14 000"><m:mrow><m:mo>-</m:mo><m:mn>14 000</m:mn></m:mrow></m:math></td><td></td><td><m:math xmlns:m="http://www.w3.org/1998/Math/MathML" alttext="-14 000"><m:mrow><m:mo>-</m:mo><m:mn>14 000</m:mn></m:mrow></m:math></td><td>+</td><td></td><td>0</td></tr><tr><td></td><td>Balansekontoer</td><td></td><td>29 700</td><td>+</td><td>122 680</td><td>=</td><td>103 080</td><td>+</td><td>49 500</td><td>0</td></tr><tr><td></td><td>Balansesum</td><td></td><td></td><td></td><td>152 080</td><td>=</td><td>152 080</td><td></td><td></td><td>0</td></tr></tbody></table>
<p>Vi ser at Trine Dals egenkapital har økt med <m:math xmlns:m="http://www.w3.org/1998/Math/MathML" alttext="kr 1037 (kr 103080 - 102043)"><m:mrow><m:mi>kr </m:mi><m:mn>1 037</m:mn><m:mo></m:mo><m:mfenced><m:mrow><m:mi>kr </m:mi><m:mn>103 080</m:mn><m:mo>-</m:mo><m:mn>102 043</m:mn></m:mrow></m:mfenced></m:mrow></m:math>. Det betyr at det egentlige resultatet av driften denne måneden må være <m:math xmlns:m="http://www.w3.org/1998/Math/MathML" alttext="kr 1037 + kr 14000 = kr 15037"><m:mrow><m:mi>kr </m:mi><m:mn>1 037</m:mn><m:mo>+</m:mo><m:mi>kr </m:mi><m:mn>14 000</m:mn><m:mo>=</m:mo><m:mi>kr </m:mi><m:mn>15 037</m:mn></m:mrow></m:math>. Vi viser for øvrig til resultatregnskapet i neste avsnitt.</p>
<p>✐ <strong>Oppgave 1-1 og 1-2, side 229.</strong></p>
我的问题是某些元素的末尾还包含额外的文本,如下面的 xpath 中返回的节点之一所示:
<m:math xmlns:m="http://www.w3.org/1998/Math/MathML" alttext="kr 1037 + kr 14000 = kr 15037"><m:mrow><m:mi>kr </m:mi><m:mn>1 037</m:mn><m:mo>+</m:mo><m:mi>kr </m:mi><m:mn>14 000</m:mn><m:mo>=</m:mo><m:mi>kr </m:mi><m:mn>15 037</m:mn></m:mrow></m:math>. Vi viser for øvrig til resultatregnskapet i neste avsnitt.
我只想要 m:math 元素,我做错了什么?
【问题讨论】:
标签: python xml xpath lxml mathml