Jak przekonwertowałbyś XML na JSON, a następnie z powrotem na XML?
Następujące narzędzia działają całkiem dobrze, ale nie są całkowicie spójne:
Czy ktoś wcześniej spotkał się z tą sytuacją?
javascript
jquery
xml
json
format-conversion
Jason Suárez
źródło
źródło
Odpowiedzi:
Myślę, że to jest najlepsze: Konwersja między XML a JSON
Koniecznie przeczytaj towarzyszący artykuł w witrynie xml.com O'Reilly , w którym omawiamy szczegółowo problemy z tymi konwersjami, które, jak sądzę, uznasz za pouczające. Fakt, że O'Reilly prowadzi artykuł, powinien wskazywać, że rozwiązanie Stefana ma zalety.
źródło
https://github.com/abdmob/x2js - moja własna biblioteka (zaktualizowany adres URL z http://code.google.com/p/x2js/ ):
Demo online na http://jsfiddle.net/abdmob/gkxucxrj/1/
źródło
Te odpowiedzi bardzo mi pomogły w wykonaniu tej funkcji:
Tak długo, jak przekazujesz obiekt jquery dom / xml: dla mnie było to:
gdzie zawartość była polem, w którym przechowywałem mój plik xml.
źródło
Jakiś czas temu napisałem to narzędzie https://bitbucket.org/surenrao/xml2json dla mojej aplikacji TV Watchlist, mam nadzieję, że to też pomoże.
źródło
Osobiście poleciłbym to narzędzie . Jest to konwerter XML na JSON.
Jest bardzo lekki i jest w czystym JavaScript. Nie potrzebuje żadnych zależności. Możesz po prostu dodać funkcje do swojego kodu i używać go tak, jak chcesz.
Uwzględnia również atrybuty XML.
Oto demo online !
źródło
Zastrzeżenie: napisałem parser fast-xml
Fast XML Parser może pomóc w konwersji XML do JSON i odwrotnie. Oto przykład;
Jeśli chcesz przeanalizować obiekt JSON lub JS w XML, to
źródło
Oto dobre narzędzie z udokumentowanej i bardzo znanej biblioteki npm, która bardzo dobrze wykonuje konwersje xml <-> js: inaczej niż niektóre (być może wszystkie) z powyższych proponowanych rozwiązań, konwertuje również komentarze xml.
źródło
W 6 prostych liniach ES6:
Przetestuj ze
echo "xml2json_example()" | node -r xml2json.es6
źródłem na https://github.com/brauliobo/biochemical-db/blob/master/lib/xml2json.es6źródło
Użyłem xmlToJson tylko po to, aby uzyskać pojedynczą wartość XML.
Zauważyłem, że wykonanie następujących czynności jest znacznie łatwiejsze (jeśli plik XML występuje tylko raz ...)
źródło
Stworzyłem funkcję rekurencyjną opartą na wyrażeniu regularnym, na wypadek gdybyś nie chciał instalować biblioteki i rozumieć logiki stojącej za tym, co się dzieje:
Wyjaśnienie wyrażenia regularnego dla każdej pętli:
<tag />
Sposób działania wyrażenia regularnego możesz sprawdzić tutaj: https://regex101.com/r/ZJpCAL/1
Uwaga: jeśli json ma klucz z nieokreśloną wartością, jest on usuwany. Dlatego wstawiłem null na końcu wiersza 9.
źródło
Najlepszy sposób na zrobienie tego przy użyciu strony serwera jako strony klienta nie działa dobrze we wszystkich scenariuszach. Próbowałem zbudować online konwerter json na xml i xml na json przy użyciu javascript i czułem się prawie niemożliwy, ponieważ nie działał we wszystkich scenariuszach. Ostatecznie zrobiłem to po stronie serwera przy użyciu Newtonsoft w ASP.MVC. Oto konwerter online http://techfunda.com/Tools/XmlToJson
źródło