1

私はlxmlライブラリを使用しています...というxmlファイルにタグがあります

<a:rPr lang="en-US" dirty="0" smtClean="0"/> 接頭辞aは名前空間を指します

a="http://schemas.openxmlformats.org/drawingml/2006/main"^

lxml-Xpath を使用してタグ名a:rPrを取得すると、結果は次のようになります。{http://schemas.openxmlformats.org/drawingml/2006/main}rPr'

これが私が書いたコードスニペットです:

if doc == 'file.xml':
        file = etree.parse(my_directory+doc)
        path = file.xpath('/p:sld/p:cSld/p:spTree/p:sp/p:txBody/a:p/a:r/a:rPr', namespaces={'p':'http://schemas.openxmlformats.org/presentationml/2006/main',
            'a':'http://schemas.openxmlformats.org/drawingml/2006/main'})
        #print path
        for a in path:
            print a.tag

タグ名を取得するために使用できるxml.minidomを使用a.nodeNameしましたが、名前空間なしでタグ名を取得できる関数、つまりa:rPrlxmlがわかりませんか? 前もって感謝します。

4

1 に答える 1

0

xpath を使用しますname()

for a in path:
    print a.xpath('name()')  # prints a:rPr

それが役立つことを願っています。

于 2013-05-21T20:14:59.527 に答える