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