【发布时间】:2014-01-21 09:32:33
【问题描述】:
这是 XML 文件:products.xml
<?xml version="1.0"?>
<TABLE-RECORDS>
<EXPORT-RECORDS>
<PRODUCT>
<PRODUCTS_NAME>Name of product</PRODUCTS_NAME>
<PRODUCTS_DESCRIPTION>Description of Product</PRODUCTS_DESCRIPTION>
<PRODUCTS_IMAGE>any.jpg</PRODUCTS_IMAGE>
<PRODUCTS_PRICE>1.00</PRODUCTS_PRICE>
<PRODUCTS_MODEL>ANY</PRODUCTS_MODEL>
<ITEM_BRANDNAME>ANY</ITEM_BRANDNAME>
<ITEM_UPC>11111111</ITEM_UPC>
<ITEM_HEIGHT>1.00</ITEM_HEIGHT>
<ITEM_LENGTH>1.00</ITEM_LENGTH>
<ITEM_DIAMETER>1.00</ITEM_DIAMETER>
<PRODUCTS_WEIGHT>1.00</PRODUCTS_WEIGHT>
<MANUFACTURERS_NAME>any manufacturer</MANUFACTURERS_NAME>
<ITEM_VENDOR_NUMBER>Vendor</ITEM_VENDOR_NUMBER>
<PRODUCTS_QUANTITY>1</PRODUCTS_QUANTITY>
<DATE_RECIEVED>0000-00-00 00:00:00</DATE_RECIEVED>
<PROP_PACKAGING>box</PROP_PACKAGING>
<PRODUCT_CLASS>any class</PRODUCT_CLASS>
<PRODUCTS_TYPE>any type</PRODUCTS_TYPE>
</PRODUCT>
</EXPORT-RECORDS>
</TABLE-RECORDS>
我想将“TABLE-RECORDS”更改为“PRODUCTS”并删除“EXPORT-RECORDS”标签。
我尝试过使用 SimpleXML,但我只能使用 getName() 检索标签的名称,而 DOMDocument 根本不适合我。
任何帮助/指导将不胜感激!
【问题讨论】:
-
为什么不直接创建一个带有所需根节点的新 XML?结果是一样的,但要简单得多。
-
@ToBe -- 我需要自动化这个过程,因为它将是用于上传整个目录的 xml 文件。
-
@Þaw -- 我查看了提供的链接,但是它正在删除一个属性,我需要删除一个元素。如果我错了,请纠正我。
-
我仍然没有看到你的问题。您想自动删除/更改其他根节点,还是想更改删除 XML 中的任何其他节点?如果它始终是 root,则始终只是创建一个新的。如果是别的东西,SimpleXMLElement 提供了简单的功能。