تحليل XML مع عناصر تحتوي على القولون / مساحة الاسم

StackOverflow https://stackoverflow.com/questions/4293894

سؤال

باستخدام XML لتحليل مستند XML في برنامج Google Apps Script:http://code.google.com/googleaps/appsscript/articles/xml_tutorial.html#howitworks

ولكن هذا لا يعمل (فشل Parse) إذا كان هناك قولون في اسم العنصر. على الرغم من أنها ربما تكون مساحة الاسم ، إلا أنها مساحة اسم واحدة في جميع أنحاء مستند XML.

<aws:elementname>...</aws:elementname>

هل هذه مشكلة فقط مع XML من Google أم أنها عامة؟

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

المحلول

فقط لا ترسل حجة حقيقية.

var oXML = Xml.parse(sXML, false);
var root = oXML.getElement();
var topElement = root.getElements("http://namespace-uri","topElement");
var childElement = topElement[0].getElements("http://namespace-uri","childElement");

نصائح أخرى

إنها بالتأكيد ليست قضية عامة. هناك بالتأكيد محلات XML التي تتعامل مع مساحات الأسماء.

أظن أنه قيود على رمز البرنامج التعليمي وأن مكتبات Google يمكنها في الواقع التعامل مع مساحات الأسماء ، لكنها تخمين إلى حد ما من النظر إلى مستندات API.

رمز البرنامج التعليمي يستخدم مكالمات مثل

var movies = doc.html.head.getElements("movie");

والتي يبدو أنها نسخة غير مدركة للمساحة.

هناك حمولة زائدة من هذه الطريقة التي تأخذ عنوان URL مساحة الاسم أيضًا ، والتي قد تحتاج إلى استخدامها إذا كانت هناك مساحة اسم.

إذا كنت ترغب في استخدام بعض مساحة الاسم ، فيجب عليك أولاً إعلان ذلك. على سبيل المثال:

<root xmlns:aws="some-uri">
  <aws:elementname />
</root>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top