我试图用Python解析XML文档,这样我就可以对数据进行操作并写出一个新文件。我正在处理的完整文件是here,但这里有一个摘录:
<?xml version="1.0" encoding="UTF-8"?>
<FMPXMLRESULT xmlns="http://www.filemaker.com/fmpxmlresult">
<ERRORCODE>0</ERRORCODE>
<PRODUCT BUILD="09-11-2013" NAME="FileMaker" VERSION="ProAdvanced 12.0v5"/>
<DATABASE DATEFORMAT="M/d/yyyy" LAYOUT="" NAME="All gigs 88-07.fmp12" RECORDS="746" TIMEFORMAT="h:mm:ss a"/>
<METADATA>
<FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Country" TYPE="TEXT"/>
<FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Year" TYPE="TEXT"/>
<FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="City" TYPE="TEXT"/>
<FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="State" TYPE="TEXT"/>
<FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Theater" TYPE="TEXT"/>
</METADATA>
<RESULTSET FOUND="746">
<ROW MODID="3" RECORDID="32">
<COL>
<DATA/>
</COL>
<COL>
<DATA>1996</DATA>
</COL>
<COL>
<DATA>Pompano Beach</DATA>
</COL>
<COL>
<DATA>FL</DATA>
</COL>
<COL>
<DATA>First Presbyterian Church</DATA>
</COL>
</ROW>
<ROW MODID="3" RECORDID="33">
<COL>
<DATA/>
</COL>
<COL>
<DATA>1996</DATA>
</COL>
<COL>
<DATA>Hilton Head</DATA>
</COL>
<COL>
<DATA>SC</DATA>
</COL>
<COL>
<DATA>Self Family Arts Center</DATA>
</COL>
</ROW>
<!-- snip many more ROW elements -->
</RESULTSET>
</FMPXMLRESULT>
最后,我想使用METADATA
字段中的信息来解析RESULTSET
中的列,但目前我在获取数据句柄时遇到了困难。下面是我试图获取METADATA
元素的内容:
打印出来:
<Element '{http://www.filemaker.com/fmpxmlresult}FMPXMLRESULT' at 0x10f982cd0>
None
为什么metadata
是空的?我是不是滥用了find()
方法?在
您需要处理名称空间。在
但是,由于只给定了一个默认名称空间,因此可以使用以下语法查找元素:
以下是您可能希望看到的相关线程:
UPD(获取结果列表):
^{pr2}$印刷品:
相关问题 更多 >
编程相关推荐