如何使用PHP导入XML?

如何使用PHP导入XML?,php,xml,csv,simplexml,Php,Xml,Csv,Simplexml,我一直在为一个客户创建一个简单的网站(我是一个具有前端技能的设计师),但我被抛到了一个曲线球上,现在他们想要一个通过CSV或XML文件导入的产品目录。我选择了XML选项,因为我甚至不知道如何使用CSV 我希望能得到一些关于如何开始使用PHP提取XML的指导 XML产品示例: <?xml version="1.0" encoding="ISO-8859-1"?> <style body="Neck%2C+waist+and+cuff+ribs+in+cotton%2FLycra%

我一直在为一个客户创建一个简单的网站(我是一个具有前端技能的设计师),但我被抛到了一个曲线球上,现在他们想要一个通过CSV或XML文件导入的产品目录。我选择了XML选项,因为我甚至不知道如何使用CSV

我希望能得到一些关于如何开始使用PHP提取XML的指导

XML产品示例:

<?xml version="1.0" encoding="ISO-8859-1"?>
<style body="Neck%2C+waist+and+cuff+ribs+in+cotton%2FLycra%C2%AE%0ATwin+needle+stitching+throughout%0ATaped+back+neck%0A" brand="Fruit+of+the+Loom" code="SS8" date="20140303162801" footnote="Garment+sizes+are+approximate+and+for+guidance+only%0A" material="80%25+cotton+Belcoro%C2%AE+yarn%2F+20%25+polyester." name="Fruit+of+the+Loom+Raglan+Sweatshirt" type="Adult" weight="280+gsm">
<sizes>
    <row name="Size:">
        <col value="S"/>
        <col value="M"/>
        <col value="L"/>
        <col value="XL"/>
        <col value="XXL"/>
    </row>
    <row name="Chest (to fit):">
        <col value="35%2F37"/>
        <col value="38%2F40"/>
        <col value="41%2F43"/>
        <col value="44%2F46"/>
        <col value="47%2F49"/>
    </row>
</sizes>
<skus>
    <sku colour="BLK">
        <colours>
            <colour hex="0F1315" name="Black"/>
        </colours>
        <sizes>
            <size cartonPrice="490" cartonSize="36" name="S" packPrice="520" packSize="6" singlePrice="560"/>
            <size cartonPrice="490" cartonSize="36" name="M" packPrice="520" packSize="6" singlePrice="560"/>
            <size cartonPrice="490" cartonSize="36" name="L" packPrice="520" packSize="6" singlePrice="560"/>
            <size cartonPrice="490" cartonSize="36" name="XL" packPrice="520" packSize="6" singlePrice="560"/>
            <size cartonPrice="490" cartonSize="24" name="XXL" packPrice="520" packSize="6" singlePrice="560"/>
        </sizes>
    </sku>
    <sku colour="BOT">
        <colours>
            <colour hex="15451A" name="Bottle"/>
        </colours>
        <sizes>
            <size cartonPrice="490" cartonSize="36" name="S" packPrice="520" packSize="6" singlePrice="560"/>
            <size cartonPrice="490" cartonSize="36" name="M" packPrice="520" packSize="6" singlePrice="560"/>
            <size cartonPrice="490" cartonSize="36" name="L" packPrice="520" packSize="6" singlePrice="560"/>
            <size cartonPrice="490" cartonSize="36" name="XL" packPrice="520" packSize="6" singlePrice="560"/>
            <size cartonPrice="490" cartonSize="24" name="XXL" packPrice="520" packSize="6" singlePrice="560"/>
        </sizes>
    </sku>


..

请参考以下代码,我认为这将对您有所帮助

<!-- suppose this is book.xml file -->
<?xml version="1.0"?>
<catalog>
<book id="bk101">
  <author>Gambardella, Matthew</author>
  <title>XML Developer's Guide</title>
  <genre>Computer</genre>
  <price>44.95</price>
  <publish_date>2000-10-01</publish_date>
  <description>An in-depth look at creating applications
  with XML.</description>
   </book>
   <book id="bk102">
  <author>Ralls, Kim</author>
  <title>Midnight Rain</title>
  <genre>Fantasy</genre>
  <price>5.95</price>
  <publish_date>2000-12-16</publish_date>
  <description>A former architect battles corporate zombies,
  an evil sorceress, and her own childhood to become queen
  of the world.</description>
   </book>
<catalog>

马修·甘巴德拉
XML开发人员指南
电脑类
44.95
2000-10-01
深入了解如何创建应用程序
使用XML。
拉尔斯,金
夜雨
幻想
5.95
2000-12-16
一位前建筑师与企业僵尸搏斗,
一个邪恶的女巫,和她自己的童年成为女王
世界的一部分。
这是您的PHP:

<?php
// Loading the XML file
$xml = simplexml_load_file("books.xml");
echo "<h2>".$xml->getName()."</h2><br />";
foreach($xml->children() as $book)
{
    echo "BOOK : ".$book->attributes()->id."<br />";
    echo "Author : ".$book->author." <br />";
    echo "Title : ".$book->title." <br />";
    echo "Genre : ".$book->genre." <br />";
    echo "Price : ".$book->price." <br />";
    echo "Publish Date : ".$book->publish_date." <br />";
    echo "Description : ".$book->description." <br />";
    echo "<hr/>";
}
?>

请参考以下代码,我认为这将对您有所帮助

<!-- suppose this is book.xml file -->
<?xml version="1.0"?>
<catalog>
<book id="bk101">
  <author>Gambardella, Matthew</author>
  <title>XML Developer's Guide</title>
  <genre>Computer</genre>
  <price>44.95</price>
  <publish_date>2000-10-01</publish_date>
  <description>An in-depth look at creating applications
  with XML.</description>
   </book>
   <book id="bk102">
  <author>Ralls, Kim</author>
  <title>Midnight Rain</title>
  <genre>Fantasy</genre>
  <price>5.95</price>
  <publish_date>2000-12-16</publish_date>
  <description>A former architect battles corporate zombies,
  an evil sorceress, and her own childhood to become queen
  of the world.</description>
   </book>
<catalog>

马修·甘巴德拉
XML开发人员指南
电脑类
44.95
2000-10-01
深入了解如何创建应用程序
使用XML。
拉尔斯,金
夜雨
幻想
5.95
2000-12-16
一位前建筑师与企业僵尸搏斗,
一个邪恶的女巫,和她自己的童年成为女王
世界的一部分。
这是您的PHP:

<?php
// Loading the XML file
$xml = simplexml_load_file("books.xml");
echo "<h2>".$xml->getName()."</h2><br />";
foreach($xml->children() as $book)
{
    echo "BOOK : ".$book->attributes()->id."<br />";
    echo "Author : ".$book->author." <br />";
    echo "Title : ".$book->title." <br />";
    echo "Genre : ".$book->genre." <br />";
    echo "Price : ".$book->price." <br />";
    echo "Publish Date : ".$book->publish_date." <br />";
    echo "Description : ".$book->description." <br />";
    echo "<hr/>";
}
?>

请参考以下代码,我认为这将对您有所帮助

<!-- suppose this is book.xml file -->
<?xml version="1.0"?>
<catalog>
<book id="bk101">
  <author>Gambardella, Matthew</author>
  <title>XML Developer's Guide</title>
  <genre>Computer</genre>
  <price>44.95</price>
  <publish_date>2000-10-01</publish_date>
  <description>An in-depth look at creating applications
  with XML.</description>
   </book>
   <book id="bk102">
  <author>Ralls, Kim</author>
  <title>Midnight Rain</title>
  <genre>Fantasy</genre>
  <price>5.95</price>
  <publish_date>2000-12-16</publish_date>
  <description>A former architect battles corporate zombies,
  an evil sorceress, and her own childhood to become queen
  of the world.</description>
   </book>
<catalog>

马修·甘巴德拉
XML开发人员指南
电脑类
44.95
2000-10-01
深入了解如何创建应用程序
使用XML。
拉尔斯,金
夜雨
幻想
5.95
2000-12-16
一位前建筑师与企业僵尸搏斗,
一个邪恶的女巫,和她自己的童年成为女王
世界的一部分。
这是您的PHP:

<?php
// Loading the XML file
$xml = simplexml_load_file("books.xml");
echo "<h2>".$xml->getName()."</h2><br />";
foreach($xml->children() as $book)
{
    echo "BOOK : ".$book->attributes()->id."<br />";
    echo "Author : ".$book->author." <br />";
    echo "Title : ".$book->title." <br />";
    echo "Genre : ".$book->genre." <br />";
    echo "Price : ".$book->price." <br />";
    echo "Publish Date : ".$book->publish_date." <br />";
    echo "Description : ".$book->description." <br />";
    echo "<hr/>";
}
?>

请参考以下代码,我认为这将对您有所帮助

<!-- suppose this is book.xml file -->
<?xml version="1.0"?>
<catalog>
<book id="bk101">
  <author>Gambardella, Matthew</author>
  <title>XML Developer's Guide</title>
  <genre>Computer</genre>
  <price>44.95</price>
  <publish_date>2000-10-01</publish_date>
  <description>An in-depth look at creating applications
  with XML.</description>
   </book>
   <book id="bk102">
  <author>Ralls, Kim</author>
  <title>Midnight Rain</title>
  <genre>Fantasy</genre>
  <price>5.95</price>
  <publish_date>2000-12-16</publish_date>
  <description>A former architect battles corporate zombies,
  an evil sorceress, and her own childhood to become queen
  of the world.</description>
   </book>
<catalog>

马修·甘巴德拉
XML开发人员指南
电脑类
44.95
2000-10-01
深入了解如何创建应用程序
使用XML。
拉尔斯,金
夜雨
幻想
5.95
2000-12-16
一位前建筑师与企业僵尸搏斗,
一个邪恶的女巫,和她自己的童年成为女王
世界的一部分。
这是您的PHP:

<?php
// Loading the XML file
$xml = simplexml_load_file("books.xml");
echo "<h2>".$xml->getName()."</h2><br />";
foreach($xml->children() as $book)
{
    echo "BOOK : ".$book->attributes()->id."<br />";
    echo "Author : ".$book->author." <br />";
    echo "Title : ".$book->title." <br />";
    echo "Genre : ".$book->genre." <br />";
    echo "Price : ".$book->price." <br />";
    echo "Publish Date : ".$book->publish_date." <br />";
    echo "Description : ".$book->description." <br />";
    echo "<hr/>";
}
?>

当然,您可以在PHP中使用DOM。给出图书示例,将数据读入PHP:

<!-- suppose this is book.xml file -->
<?xml version="1.0"?>
<catalog>
<book id="bk101">
  <author>Gambardella, Matthew</author>
  <title>XML Developer's Guide</title>
  <genre>Computer</genre>
  <price>44.95</price>
  <publish_date>2000-10-01</publish_date>
  <description>An in-depth look at creating applications
  with XML.</description>
   </book>
   <book id="bk102">
  <author>Ralls, Kim</author>
  <title>Midnight Rain</title>
  <genre>Fantasy</genre>
  <price>5.95</price>
  <publish_date>2000-12-16</publish_date>
  <description>A former architect battles corporate zombies,
  an evil sorceress, and her own childhood to become queen
  of the world.</description>
   </book>
<catalog>

当然,您可以在PHP中使用DOM。给出图书示例,将数据读入PHP:

<!-- suppose this is book.xml file -->
<?xml version="1.0"?>
<catalog>
<book id="bk101">
  <author>Gambardella, Matthew</author>
  <title>XML Developer's Guide</title>
  <genre>Computer</genre>
  <price>44.95</price>
  <publish_date>2000-10-01</publish_date>
  <description>An in-depth look at creating applications
  with XML.</description>
   </book>
   <book id="bk102">
  <author>Ralls, Kim</author>
  <title>Midnight Rain</title>
  <genre>Fantasy</genre>
  <price>5.95</price>
  <publish_date>2000-12-16</publish_date>
  <description>A former architect battles corporate zombies,
  an evil sorceress, and her own childhood to become queen
  of the world.</description>
   </book>
<catalog>

当然,您可以在PHP中使用DOM。给出图书示例,将数据读入PHP:

<!-- suppose this is book.xml file -->
<?xml version="1.0"?>
<catalog>
<book id="bk101">
  <author>Gambardella, Matthew</author>
  <title>XML Developer's Guide</title>
  <genre>Computer</genre>
  <price>44.95</price>
  <publish_date>2000-10-01</publish_date>
  <description>An in-depth look at creating applications
  with XML.</description>
   </book>
   <book id="bk102">
  <author>Ralls, Kim</author>
  <title>Midnight Rain</title>
  <genre>Fantasy</genre>
  <price>5.95</price>
  <publish_date>2000-12-16</publish_date>
  <description>A former architect battles corporate zombies,
  an evil sorceress, and her own childhood to become queen
  of the world.</description>
   </book>
<catalog>

当然,您可以在PHP中使用DOM。给出图书示例,将数据读入PHP:

<!-- suppose this is book.xml file -->
<?xml version="1.0"?>
<catalog>
<book id="bk101">
  <author>Gambardella, Matthew</author>
  <title>XML Developer's Guide</title>
  <genre>Computer</genre>
  <price>44.95</price>
  <publish_date>2000-10-01</publish_date>
  <description>An in-depth look at creating applications
  with XML.</description>
   </book>
   <book id="bk102">
  <author>Ralls, Kim</author>
  <title>Midnight Rain</title>
  <genre>Fantasy</genre>
  <price>5.95</price>
  <publish_date>2000-12-16</publish_date>
  <description>A former architect battles corporate zombies,
  an evil sorceress, and her own childhood to become queen
  of the world.</description>
   </book>
<catalog>

这取决于你希望它如何工作。您想要上传表单,还是CSV/XML文件将以另一种方式提供(从您的程序的角度来看,可以在磁盘上找到)?当您说导入时,您的意思是希望将CSV/XML行复制到数据库中吗?我需要在前端显示可用大小(S、M、L、XL、XXL)等属性。使用simplexml,如@DigitalChris所述。我发现的最好的方法是将所有这些存储在一个临时数据库中,然后再次运行它。这将使您在处理内容时具有更大的灵活性。啊,对了,如果客户端不需要上传XML文件,您可以将其存储在磁盘上,并通过SimpleXML读取,正如Sanjay的回答所示@Tony说的没错,您可以将其加载到数据库中,但我怀疑您想要的是尽可能最简单的解决方案!这取决于你希望它如何工作。您想要上传表单,还是CSV/XML文件将以另一种方式提供(从您的程序的角度来看,可以在磁盘上找到)?当您说导入时,您的意思是希望将CSV/XML行复制到数据库中吗?我需要在前端显示可用大小(S、M、L、XL、XXL)等属性。使用simplexml,如@DigitalChris所述。我发现的最好的方法是将所有这些存储在一个临时数据库中,然后再次运行它。这将使您在处理内容时具有更大的灵活性。啊,对了,如果客户端不需要上传XML文件,您可以将其存储在磁盘上,并通过SimpleXML读取,正如Sanjay的回答所示@Tony说的没错,您可以将其加载到数据库中,但我怀疑您想要的是尽可能最简单的解决方案!这取决于你希望它如何工作。您想要上传表单,还是CSV/XML文件将以另一种方式提供(从您的程序的角度来看,可以在磁盘上找到)?当您说导入时,您的意思是希望将CSV/XML行复制到数据库中吗?我需要在前端显示可用大小(S、M、L、XL、XXL)等属性。使用simplexml,如@DigitalChris所述。我发现的最好的方法是将所有这些存储在一个临时数据库中,然后再次运行它。这将使您在处理内容时具有更大的灵活性。啊,对了,如果客户端不需要上传XML文件,您可以将其存储在磁盘上,并通过SimpleXML读取,正如Sanjay的回答所示@Tony说的没错,您可以将其加载到数据库中,但我怀疑您想要的是尽可能最简单的解决方案!这取决于你希望它如何工作。您想要上传表单,还是CSV/XML文件将以另一种方式提供(从您的程序的角度来看,可以在磁盘上找到)?当您说导入时,您的意思是希望将CSV/XML行复制到数据库中吗?我需要在前端显示可用大小(S、M、L、XL、XXL)等属性。使用simplexml,如@DigitalChris所述。我发现的最好的方法是将所有这些存储在一个临时数据库中,然后再次运行它。这将使您在处理内容时具有更大的灵活性