从xml文档中提取元素属性和值,而不在python中指定元素

时间:2012-07-01 10:27:29

标签: python linux xml-parsing ubuntu-10.04

我创建了10个不同类型的xml文档,比如一个有书的详细信息,另外有电影的详细信息或新闻标题等。其中一个xml文档是books.xml,如下所示:

<bookstore>
    <book category="COOKING">
         <title lang="english">Everyday Italian</title>
         <author>Giada De Laurentiis</author>
         <year>2005</year>
         <price>200.00</price>
    </book>

    <book category="CHILDREN">
         <title lang="english">Harry Potter</title>
         <author>J K. Rowling </author>
         <year>2005</year>
         <price>625.00</price>
    </book> 
</bookstore>

我想通过在所有10个xml文档中搜索来计算用户输入的单词。这些词只不过是具有属性及其各自价值的元素。

例如:用户输入类别

从上面的例子可以看出category是一个属性并且写了两次。因此,根据这个输出应该是“2”,如果这个单词类别出现在其他9个文档中,那么计数会相应地升级。如何在不指定元素名称的情况下为单个doc执行此操作。它基本上是xml解析,所以我该怎么做呢?这对我来说是新的,我遇到了一些问题。

/////////////////////////////////////////////// ///////////////////////////////////

如果我想使用简单的doc而不是模式怎么办?它与xml解析有关,你能告诉我如何在dom模型对象中使用nodelist对象。

请帮忙。

1 个答案:

答案 0 :(得分:0)

如果您要加载大量此类XML文档,则可以执行以下步骤

  1. 删除属性中的数据。更改

    的文档格式
    <book>
         <category>CHILDREN</category>
         <lang>english</lang>
         <title>Harry Potter</title>
         <author>J K. Rowling </author>
         <year>2005</year>
         <price>625.00</price>
    </book> 
    
  2. 使用Sphinx使用xmlpipe data source

  3. 对文档编制索引