شيء مماثل لSimpleXML PHP في بيثون؟
سؤال
هل هناك طريقة في بيثون للتعامل مع XML ملفات مشابهة لطريقة تمديد SimpleXML PHP ويفعل بهم؟
ومن الناحية المثالية أريد فقط أن تكون قادرة على الوصول إلى بعض دتس أكس من كائن القائمة.
المحلول
وهناك قائمة طويلة من المكتبات المرتبطة بمعالجة XML على بيثون يكي . لاحظ أن عددا منهم تم تضمينها في مكتبة القياسية. ومعظمهم من فعل ما كنت تبحث عن:
<اقتباس فقرة>والوصول إلى بعض دتس XML من كائن قائمة
اقتباس فقرة>والتي هي غامضة بعض الشيء، وربما بعض أكثر واقعية استخدام القضية قد تضييق تلك القائمة بالنسبة لك.
نصائح أخرى
وقد ترغب في محاولة xml.etree.ElementTree و يوفر العديد من الطرق السهلة للوصول أكس للقراءة وبناء أكس الجديد.
وأو الأفضل من ذلك استخدام lxml.etree التي توفر حتى طرق أكثر ملاءمة للوصول إلى العقد (مثل كسباث)
lxml.objectify يفعل بالضبط ما تريد
In [1]: from lxml import objectify
In [2]: x = objectify.fromstring("""<response><version>1.2</version><amount>1.01</amount><currency>USD</currency></response>""")
In [3]: x.version
Out[3]: 1.2
In [4]: x.amount
Out[4]: 1.01
In [5]: x.currency
Out[5]: 'USD'