要將XML文件分解成多個獨立的模式文件,可以使用lxml庫中的ETXPath類和ElementTree類。以下是一個簡單的示例代碼來演示如何將XML文件分解成多個模式文件:
```python
from lxml import etree
# 加載XML文件
tree = etree.parse('input.xml')
# 獲取根節點
root = tree.getroot()
# 獲取所有模式節點
patterns = root.xpath('//pattern')
# 將每個模式保存到獨立的文件中
for i, pattern in enumerate(patterns):
# 創建一個新的ElementTree對象
new_tree = etree.ElementTree(pattern)
# 將模式保存到文件中
new_tree.write(f'pattern_{i}.xml', pretty_print=True)
```
在上面的代碼中,我們首先使用`etree.parse`函數加載XML文件,然后使用`xpath('//pattern')`方法獲取所有模式節點。接下來,我們遍歷每個模式節點,創建一個新的ElementTree對象并將該模式保存到一個獨立的文件中。
運行代碼后,將生成多個名為`pattern_0.xml`、`pattern_1.xml`等的模式文件,每個文件包含一個獨立的模式節點。