【问题标题】:Xml parsing with python multirow使用 python 多行解析 XML
【发布时间】:2019-03-21 09:29:36
【问题描述】:

我无法解析这种类型的 xml 文件:

<items>
  <item>
   <name>Car</name>
   <description>
      <specification>
          <color>blue</color>
      </specification>
      <specification>
          <color>yellow</color>
      </specification>
   </description>
  <item>
 <items>

我想恢复所有用逗号分隔的颜色。

我是python初学者。

items = doc.getElementsByTagName("items")
for item in items:
   name = item.getAttribute("name")
   color = item.getElementByTagName("color")[0]
   print(name,color.firstChild.data)

提前谢谢你。

【问题讨论】:

    标签: python xml minidom


    【解决方案1】:

    我会推荐BeautifulSoup

    from bs4 import BeautifulSoup
    a='''<items>
      <item>
       <name>Car</name>
       <description>
          <specification>
              <color>blue</color>
          </specification>
          <specification>
              <color>yellow</color>
          </specification>
       </description>
      <item>
     <items>'''
    color_list=[]
    soup = BeautifulSoup(a, "html.parser")
    for i in soup.findAll('color'):
        color_list.append(i.next_element)
    print(','.join(color_list)) # blue,yellow
    

    【讨论】:

      【解决方案2】:

      谢谢!它适用于这种情况,但对于更大的样本,我做不到..

      <TradeMark>
         <MarkImageDetails>
            <MarkImage>
               <MarkImageFilename>FMARK0000000004393852</MarkImageFilename>
               <MarkImageFileFormat>TIFF</MarkImageFileFormat>
            </MarkImage>
         </MarkImageDetails>
         <GoodsServicesDetails>
            <GoodsServices>
               <ClassificationKindCode>Nice</ClassificationKindCode>
               <ClassDescriptionDetails>
                  <ClassDescription>
                     <ClassNumber>35</ClassNumber>
                  </ClassDescription>
                  <ClassDescription>
                     <ClassNumber>41</ClassNumber>
                  </ClassDescription>
                  <ClassDescription>
                     <ClassNumber>42</ClassNumber>
                  </ClassDescription>
               </ClassDescriptionDetails>
            </GoodsServices>
         </GoodsServicesDetails>
      </TradeMark>
      

      我想要 ClassNumber。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-01-11
        • 1970-01-01
        • 2021-02-19
        • 1970-01-01
        • 2021-02-06
        相关资源
        最近更新 更多