【发布时间】:2019-03-07 23:34:25
【问题描述】:
我的 XML 文档部分
<?xml version="1.0"?>
<orderDocument xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://plmpack.com/stackbuilder/StackBuilderXMLExport.xsd">
<author>cmj</author>
<date>2019-02-14T10:45:48.4872033+01:00</date>
<unit>mm|kg</unit>
<orderType>
<orderNumber>Analysis0</orderNumber>
<loadSpace>
<id>1</id>
<name>Pallet0</name>
<length>1200</length>
<width>800</width>
<maxLoadHeight>1500</maxLoadHeight>
<maxLoadWeight>0</maxLoadWeight>
<baseHeight>144</baseHeight>
<maxLengthOverhang>0</maxLengthOverhang>
<maxWidthOverhang>0</maxWidthOverhang>
</loadSpace>
<item>
<id>1</id>
<name>paper0</name>
<length>320</length>
<width>260</width>
<height>120</height>
<weight>5</weight>
<maxWeightOnTop>0</maxWeightOnTop>
<permittedOrientations>001</permittedOrientations>
</item>
<orderLine>
<itemId>1</itemId>
<quantity>110</quantity>
</orderLine>
<load>
<loadSpaceId>1</loadSpaceId>
<statistics>
<loadVolume>1098240000</loadVolume>
<volumeUtilization>84.365781710914447</volumeUtilization>
<loadWeight>550</loadWeight>
<weightUtilization>INF</weightUtilization>
<loadHeight>1320</loadHeight>
<cOfG>
<x>0</x>
<y>0</y>
<z>0</z>
</cOfG>
</statistics>
<placement>
<itemId>1</itemId>
<x>20</x>
<y>10</y>
<z>144</z>
<L>XP</L>
<W>YP</W>
</placement>
<placement>
<itemId>1</itemId>
<x>20</x>
<y>270</y>
<z>144</z>
<L>XP</L>
<W>YP</W>
</placement>
<placement>
<itemId>1</itemId>
<x>20</x>
<y>530</y>
<z>144</z>
<L>XP</L>
<W>YP</W>
</placement>
<placement>
<itemId>1</itemId>
<x>340</x>
<y>10</y>
<z>144</z>
<L>XP</L>
<W>YP</W>
</placement>
</load>
</orderType>
</orderDocument>
到目前为止我得到的代码
import os
import xml.etree.ElementTree as ET
from xml.etree.ElementTree import ElementTree
base_path = os.path.dirname(os.path.realpath(__file__))
xml_file = os.path.join(base_path, "first_try_palletizing.xml")
tree = ET.parse(xml_file)
root = tree.getroot()
该程序适用于码垛机器人手臂。 XML 数据来自一个程序,该程序计算出堆叠对象的最佳方式。我需要的是提取“放置”数据(x,y,z,L,W),这样我就可以将它提供给机器人程序。我是 Python 的新手,所以假设我什么都不知道。
我已经尝试了下面的代码,但我无法深入:(orderNumber, loadSpace, item, orderLine, load)。
for child in root:
for element in child:
print(element)
抱歉有点乱,但这是我第一次使用stackoverflow。
【问题讨论】: