Fixes plist parser in ie8 From: Vladimir Pouzanov --- Objective-J/plist.js | 13 +++++++++++-- 1 files changed, 11 insertions(+), 2 deletions(-) diff --git a/Objective-J/plist.js b/Objective-J/plist.js index eb3fcf1..abfcaf4 100644 --- a/Objective-J/plist.js +++ b/Objective-J/plist.js @@ -286,7 +286,10 @@ function CPPropertyListCreateFromXMLData(XMLNodeOrData) if (window.ActiveXObject) { XMLNode = new ActiveXObject("Microsoft.XMLDOM"); - XMLNode.loadXML(XMLNodeOrData.string.substr(XMLNodeOrData.string.indexOf(".dtd\">") + 6)); + if(XMLNodeOrData.string.indexOf("") + 6)); + else + XMLNode.loadXML(XMLNodeOrData.string); } else XMLNode = DOCUMENT_ELEMENT(new DOMParser().parseFromString(XMLNodeOrData.string, "text/xml")); @@ -295,7 +298,13 @@ function CPPropertyListCreateFromXMLData(XMLNodeOrData) // Skip over DOCTYPE and so forth. while (IS_OF_TYPE(XMLNode, XML_DOCUMENT) || IS_OF_TYPE(XMLNode, XML_XML)) - PLIST_FIRST_CHILD(XMLNode); + { + if (XMLNode.nextSibling && XMLNode.nextSibling.nodeName == PLIST_PLIST) + XMLNode = (XMLNode.nextSibling); + else + XMLNode = (XMLNode.firstChild); + // PLIST_FIRST_CHILD(XMLNode); + } // Skip over the DOCTYPE... see a pattern? if (IS_DOCUMENTTYPE(XMLNode))