سؤال

هل هناك طريقة في بيثون للتعامل مع XML ملفات مشابهة لطريقة تمديد SimpleXML PHP ويفعل بهم؟

ومن الناحية المثالية أريد فقط أن تكون قادرة على الوصول إلى بعض دتس أكس من كائن القائمة.

هل كانت مفيدة؟

المحلول

وهناك قائمة طويلة من المكتبات المرتبطة بمعالجة XML على بيثون يكي . لاحظ أن عددا منهم تم تضمينها في مكتبة القياسية. ومعظمهم من فعل ما كنت تبحث عن:

<اقتباس فقرة>   

والوصول إلى بعض دتس XML من كائن قائمة

والتي هي غامضة بعض الشيء، وربما بعض أكثر واقعية استخدام القضية قد تضييق تلك القائمة بالنسبة لك.

نصائح أخرى

وقد ترغب في محاولة xml.etree.ElementTree و يوفر العديد من الطرق السهلة للوصول أكس للقراءة وبناء أكس الجديد.

وأو الأفضل من ذلك استخدام lxml.etree التي توفر حتى طرق أكثر ملاءمة للوصول إلى العقد (مثل كسباث)

هل يمكن أن يشير إلى شيء من هذا القبيل:

<لأ href = "http://github.com/joestump/python- simplexml "يختلط =" نوفولو noreferrer "> http://github.com/joestump/python-simplexml

وأنا لم تستخدم ذلك بنفسي، ولكن كنت أبحث أيضا عن شيء مثل simplexml في PHP وأظهر هذا الرابط حتى.

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'
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top