lxml如何將XML分解成多個(gè)獨(dú)立的模式文件

小億
87
2024-05-15 16:33:23

要將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)。

0