Ich bin auf der Suche nach einer JavaScript-Bibliothek, die eine XML-Zeichenfolge analysiert und in ein JavaScript-Objekt konvertiert. Was sind gute?XML zu JavaScript Objekt
Antwort
Hier ist ein schönes xml2json und json2xml Konverter:
- http://goessner.net/download/prj/jsonxml/
- Verwandte Tutorial: http://www.xml.com/pub/a/2006/05/31/converting-between-xml-and-json.html
Hier ist ein anderes:
Je nach Bedarf, können Sie möglicherweise einen Standard-Parser verwenden (siehe http://www.w3schools.com/XML/tryit.asp?filename=tryxml_parsertest2) und XPath (http://www.w3schools.com/xpath/default.asp) - hier ein Beispiel:
und ein paar nette Tutorials:
Die xml2json JavaScript-Datei von https://bitbucket.org/surenrao/xml2json alles, was Sie dies tun müssen, ist.
Hier ist der Download-Link für den schnellen Download: https://bitbucket.org/surenrao/xml2json/get/0e0989dfe48e.zip
Einmal in Ihrem Projekt enthalten ist, hier einige Beispielcode, um loszulegen:
var xmlStr = "<root><person><name>Bob Dylan</name></person></root>";
var jsObj = X2J.parseXml(xmlStr);
var result = jsObj[0].root[0].person[0].name[0].jValue; //Bob Dylan
parst XML und gibt ein Javascript-Objekt w/a Schema das entspricht dem xml. XML-Geschwister mit demselben Namen werden in Arrays zusammengefasst. Knoten mit Namen, die im arrayTags -Parameter (Array von Tag-Name-Strings) gefunden werden können, führen immer Yeld-Arrays aus, selbst wenn nur ein Tag auftritt. ArrayTags können weggelassen werden. Textknoten mit nur Leerzeichen werden verworfen. Verwenden Sie console.log (parseXml (myxml)), um die Ausgabe zu untersuchen
parseXml(xml, arrayTags)
{
var dom = null;
if (window.DOMParser)
{
dom = (new DOMParser()).parseFromString(xml, "text/xml");
}
else if (window.ActiveXObject)
{
dom = new ActiveXObject('Microsoft.XMLDOM');
dom.async = false;
if (!dom.loadXML(xml))
{
throw dom.parseError.reason + " " + dom.parseError.srcText;
}
}
else
{
throw "cannot parse xml string!";
}
function isArray(o)
{
return Object.prototype.toString.apply(o) === '[object Array]';
}
function parseNode(xmlNode, result)
{
if (xmlNode.nodeName == "#text") {
var v = xmlNode.nodeValue;
if (v.trim()) {
result['#text'] = v;
}
return;
}
var jsonNode = {};
var existing = result[xmlNode.nodeName];
if(existing)
{
if(!isArray(existing))
{
result[xmlNode.nodeName] = [existing, jsonNode];
}
else
{
result[xmlNode.nodeName].push(jsonNode);
}
}
else
{
if(arrayTags && arrayTags.indexOf(xmlNode.nodeName) != -1)
{
result[xmlNode.nodeName] = [jsonNode];
}
else
{
result[xmlNode.nodeName] = jsonNode;
}
}
if(xmlNode.attributes)
{
var length = xmlNode.attributes.length;
for(var i = 0; i < length; i++)
{
var attribute = xmlNode.attributes[i];
jsonNode[attribute.nodeName] = attribute.nodeValue;
}
}
var length = xmlNode.childNodes.length;
for(var i = 0; i < length; i++)
{
parseNode(xmlNode.childNodes[i], jsonNode);
}
}
var result = {};
if(dom.childNodes.length)
{
parseNode(dom.childNodes[0], result);
}
return result;
}
Hallo Maylow, Willkommen bei SO, es wird hilfreicher sein, wenn Sie eine kleine Beschreibung zusammen mit Ihren Antworten, –
glücklich jetzt geben können? ..... –
: D .... Schön .... Danke ...: D +1 für diese Mühe –
- 1. Axis2-Objekt zu XML
- 2. Javascript [Objekt Objekt] zu string
- 3. Dynamisches XML zu Java-Objekt?
- 4. C# Deserialize XML zu Objekt
- 5. JavaScript-Objekt zu PHP
- 6. Objektzuordnung zu JavaScript-Objekt
- 7. Java JaxB - Objekt zu XML String zu Objekt
- 8. Convert DOM-Objekt zu JavaScript-Objekt
- 9. konvertieren komplexes JavaScript-Objekt zu Punktnotation Objekt
- 10. Welche JavaScript-Objekt-zu-Objekt-Zuordnungsbibliotheken existieren?
- 11. Serialize C# dynamisches Objekt zu JSON-Objekt von JavaScript konsumiert
- 12. hinzufügen JavaScript-Objekt JavaScript-Objekt
- 13. Fehler: [Objekt Objekt] auf Javascript
- 14. Deserialize XML zu Objekt mit Symfony2
- 15. Wie xml Objekt in Array zu schieben?
- 16. Serialize Objekt zu XML WITHIN ein Elternelement
- 17. konvertieren xml zu Java-Objekt mit JAXB
- 18. Parse moodle XML zu C# (dotnet) -Objekt
- 19. Mule - Objekt zu XML mit JAXB
- 20. xml zu Java-Objekt mit Castor
- 21. Unmarshalling XML zu bestehenden Objekt mit JAXB
- 22. Wie ein generisches JavaScript-Objekt in XML serialisiert wird
- 23. Javascript Objekt Objekt Mapping
- 24. JavaScript [Objekt] [Objekt] Debugging
- 25. JavaScript - Rückgabe [Objekt Objekt]
- 26. Xml Serialize-Objekt (HttpBrowserCapabilities)
- 27. XML zu JSON in serverTrans Javascript Marklogic
- 28. javascript: xml zu string in IE 10
- 29. Javascript XML-Feed seltsame Zeichen
- 30. store xml in Objekt
Das Problem mit Goessner-Bibliothek ist, dass es eine JSON-Zeichenfolge zurückgibt. Am Ende werden Sie eine XML-Zeichenfolge in eine JSON-Zeichenfolge konvertieren, die Sie anschließend _again_ analysieren müssen, um ein tatsächliches Javascript-Objekt zu erhalten. Es würde funktionieren, aber es gibt wahrscheinlich einen effizienteren Weg, es zu tun. – nullability