質問編集履歴

1

コードを追加しました

2022/04/19 03:04

投稿

hidek015
hidek015

スコア11

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,3 @@
1
- pythonで名前空間付きXMLを操作する方法がいまいち理解できないのですが、例えば下記XMLの<<base:DocNumber>>の内容をすべて抽出(print)するにはどのようにすればいいでしょうか?
2
- やり方は色々あるかと思いますが、標準ライブラリのElementTreeを使用した方法で検討しています。
3
-
4
1
  ```XML
5
2
  <?xml version="1.0" encoding="utf-8" standalone="no"?>
6
3
  <!DOCTYPE business:PatentDocumentAndRelated SYSTEM "/DTDS/ExternalStandards/ipphdb-entities.dtd"[]>
@@ -33,4 +30,15 @@
33
30
  </business:PatentDocumentAndRelated>
34
31
 
35
32
  ```
33
+ pythonで名前空間付きXMLを操作する方法がいまいち理解できないのですが、例えば上記XMLの<<base:DocNumber>>の内容をすべて抽出するにはどのようにすればいいでしょうか?
34
+ 下記コードではうまく取得できません。
36
35
 
36
+ ```python
37
+ import xml.etree.ElementTree as ET
38
+ tree = ET.parse('test2.xml')
39
+ root = tree.getroot()
40
+
41
+ for Priority in root.findall('{http://www.sipo.gov.cn/XMLSchema/business}Priority'):
42
+ DocNumber = Priority.find('{http://www.sipo.gov.cn/XMLSchema/base}DocNumber')
43
+ print(DocNumber.text)
44
+ ```