1

这是原始的xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<TVAMain xml:lang="en-GB" xmlns="urn:tva:metadata:2010" xmlns:tva2="urn:tva:metadata:extended:2010" xmlns:yv="http://refdata.youview.com/schemas/Metadata/2012-10-16" xmlns:mpeg7="urn:tva:mpeg7:2008" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://refdata.youview.com/schemas/Metadata/2012-09-26 ../schemas/youview_metadata_2012-09-26.xsd"> 
<!-- -->
    <ProgramDescription> .............................

我更改了xml的一些内容(但不是我在这里发布的,那些代码应该是不变的),然后写入一个新的xml文件,但是新的xml文件内容变成了这样:

<?xml version='1.0' encoding='UTF-8'?>
<TVAMain xmlns="urn:tva:metadata:2010" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://refdata.youview.com/schemas/Metadata/2012-09-26 ../schemas/youview_metadata_2012-09-26.xsd" xml:lang="en-GB">

    <ProgramDescription>....................

可以看到有些内容丢失了,顺序也变了,应该怎么做才能避免xml的变化呢?

4

1 回答 1

0

XML 标签上的属性没有固定的顺序,改变它们的顺序并不会改变它们的含义。

ElementTree 只会为实际使用的命名空间写出命名空间限定符。您的示例非常简短,但我怀疑它根本没有使用yvandmpeg7命名空间。

于 2012-11-26T11:39:29.063 回答