要将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`等的模式文件,每个文件包含一个独立的模式节点。