1

Python の elementtree を使用して、いくつかの XML 構成ファイルを解析しています。

ファイルの先頭に、次のようなルート要素があります。

<?xml version="1.0" encoding="utf-8"?>
<sgx:FooConfig
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:foo="http://ns.au.firm.com/foo.xsd"
  xmlns:bar="http://ns.au.firm.com/bar.xsd"
  >

問題は、bar構成ファイルのバージョンに応じて、名前空間が 2 つの異なる XSD のいずれかに設定される可能性があることです。

ElementTree を使用してネームスペース マッピングを出力する方法を探しているので、2 つの XSD のどちらが使用されているかを確認できます。その後、コードで正しいケースを処理できます。

Python を使用してすべての名前空間定義を出力する方法はありますか?

乾杯、ビクター

4

1 に答える 1

0

あなたが持っているのは有効な xml (未定義のプレフィックス) ではありませxml.etreelxml

import lxml.etree as et
tree = et.XML(yourxml)
print tree.nsmap
于 2012-12-31T00:46:34.740 に答える