如何使用PHP导入XML?
我一直在为一个客户创建一个简单的网站(我是一个具有前端技能的设计师),但我被抛到了一个曲线球上,现在他们想要一个通过CSV或XML文件导入的产品目录。我选择了XML选项,因为我甚至不知道如何使用CSV 我希望能得到一些关于如何开始使用PHP提取XML的指导 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%
<?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所述。我发现的最好的方法是将所有这些存储在一个临时数据库中,然后再次运行它。这将使您在处理内容时具有更大的灵活性