私は、XML変数の呼び出しを容易にするために、Untangleライブラリ(https://untangle.readthedocs.org/en/latest/#)を使用してPythonを使いこなしています。同じ名前を持つ複数のxml見出しがある場合(以下のXML例のように)以外は、まったくわかりません。 Perlでは、以下のサンプルスクリプトのようなものを使ってXMLファイルを簡単に解析できます。私は、この例のような1行を使用して、特定のXML変数を取得したいと考えています。すなわち、名前属性を子として使用する。私はUntangleがこれをPythonでやっていると思っていますが、私はまだそれを理解していません。アンヤングルを使用して名前空間を解析する方法
サンプルPerlスクリプト:
use XML::Simple;
my $XML = "/my/file/path/untest.xml";
my $config = XMLin("$XML", keyattr => { child => 'name'},forcearray => ['child']);
my $instance = 'child1';
my $things = $config->{child}->{$instance}->{thing};
print("the element: $things\n");
サンプルXMLファイル:
<root>
<child name="child1">
<thing>1</thing>
</child>
<child name="child2">
<thing>2</thing>
</child>
</root>
編集:編集したサンプルのPerlスクリプト。これはうまくいくはずです。
[XML :: Simple](http://p3rl.org/XML::Simple)と同じ方法であなた自身に警告することはできませんか? – choroba
これらは名前空間ではありません。それらは同じ名前の通常の要素(デフォルトの名前空間内)です – Borodin