Legjobb válasz
Néhány beépített függvény segítségével megteheti, ha kedveli a core php-t. Csak tegye az alábbiak szerint:
 $xmlObject = simplexml\_load\_string($xmlString); 
 $jsonString = json\_encode($xmlObject); 
 $jsonObject = json\_decode($jsonString); 
Keressünk erre valami divatos módot. Van.
Először is szükségünk van valamilyen Osztályra, hogy az XML-t JSON-vá alakítsuk át.
 class XmlToJson{ 
  private $xmlObject; 
  public function getXmlObject(){ 
  return $this->xmlObject; 
  } 
   
  // It"s basic constructor. Just getting the XML object  
  // If we have XML Object then we can just create new  
  // Object with XML Object as parameter. 
  public function \_\_construct($xmlObject = null){ 
  $this->xmlObject = $xmlObject; 
  } 
   
  // Read from XML file and create Object from the contents. 
  public static function fromFile($filepath){ 
  if(!file\_exists($filepath){ 
  throw new Exception("File not found"); 
  } 
  $xmlString = file\_get\_contents($filepath); 
  if($xmlString === false){ 
  throw new Exception("Could not read the file"); 
  } 
  return self::fromString($xmlString); 
  } 
  // Get XML String and create new Object from the string. 
  public static function fromString($xmlString){ 
  if($xmlObject === false){ 
  throw new Exception("Could not convert to XML Object"); 
  } 
  return new XmlToJson($xmlObject); 
  } 
  // Get Json Object from the XML Object we have 
  public function getJson(){ 
  $jsonString = json\_encode($this->xmlObject); 
  return json\_decode($jsonString); 
  } 
   
 } 
Nem teszteltem a kódot. Lehet, hogy nem úgy viselkedik, ahogy akartam. De érdemes kipróbálni. Általában a probléma abban rejlik, hogy a PHP hogyan kezeli az XML-ből származó objektumokat és karakterláncokat. Remélem mégis működik! Használhatja a fenti osztályt az alábbiak szerint:
 $student = XmlToJson::fromFile("/var/www/uploads/student.xml")->toJson(); 
Vagy beszerezhet egy zeneszerző csomagot, és gond nélkül megvalósíthatja tesztelték volna.
Válasz
 A JSON fájlformátum kezeléséhez a Python egy JSON nevű modult biztosít. 
1. LÉPÉS: span> telepítse az xmltodict modult a pip vagy bármely más python csomagkezelő használatával
 pip install xmltodict 
2. LÉPÉS: importálja a json modult az import kulcsszó használatával
 import json 
3. LÉPÉS: Olvassa el az xml fájlt itt, „data\_dict” az a változó, amelybe az XML adatainkat konvertáljuk szótár adattípusa.
 with open("xml\_file.xml") as xml\_file: 
  data\_dict = xmltodict.parse(xml\_file.read()) 
4. LÉPÉS: Zárja be az XML fájlt
 xml\_file.close() 
5. LÉPÉS: konvertálja az xml\_data fájlt szótárba, és tárolja egy változó JSON objektumban göndör zárójelek veszik körül {}. Kulcs- és értékpárokban vannak megírva. A json.loads () beír egy karakterláncot, és visszaad egy json objektumot. A json.dumps () befogad egy json objektumot, és egy karakterláncot ad vissza. Az xml\_data adatbeviteli karakterláncot használjuk, és pyhon objektumot hozunk létre, ezért a json.dumps ()
 json\_data = json.dumps(data\_dict) 
Itt a a létrehozott objektum tárolására használt változó.
6. LÉPÉS: Írja be a json\_data fájlt a kimeneti fájlba
 with open("data.json", "w") as json\_file: 
  json\_file.write(json\_data) 
7. LÉPÉS: Zárja be a kimeneti fájlt
 json\_file.close() 
Példa:
XML fájl:
  
 # Program to convert an xml  
 # file to json file  
 # import json module and xmltodict  
 # module provided by python  
 import json  
 import xmltodict  
 # open the input xml file and read  
 # data in form of python dictionary  
 # using xmltodict module  
 with open("test.xml") as xml\_file:  
  data\_dict = xmltodict.parse(xml\_file.read())  
  xml\_file.close()  
  # generate the object using json.dumps()  
  # corresponding to json data  
  json\_data = json.dumps(data\_dict)  
  # Write the json data to output  
  # json file  
  with open("data.json", "w") as json\_file:  
  json\_file.write(json\_data)  
  json\_file.close()  
Kimenet:
  
Izgalmas új dolgok elsajátításához ellenőrizheti.