我需要获取“name”标签的值,其中tag是“required”和“optional”。如何在PHP中完成? 我想要的结果如下: 必需 - 二进制名称,doc测试名称 可选 - doc name1,doc name2,doc name3
<?xml version="1.0" encoding="UTF-8"?>
<test>
<required>
<item type="binary">
<name>binary name</name>
<url visibility="restricted">test.exe</url>
</item>
<item type="document" subtype="mytype">
<name>doc test name</name>
<url visiblity="visible">my.pdf</url>
</item>
</required>
<optional>
<item type="document">
<name>doc name1</name>
<url visiblity="visible">user_guide1.pdf</url>
</item>
<item type="document2">
<name>doc name2</name>
<url visiblity="visible">user_guide2.pdf</url>
</item>
<item type="document3">
<name>doc name3</name>
<url visiblity="visible">user_guide3.pdf</url>
</item>
</optional>
<dependencies>
<dependency>
<url>test4.xml</url>
</dependency>
</dependencies>
</test>
答案 0 :(得分:0)
您可以使用XML Parser或SimpleXML。
$xml = new SimpleXMLElement($yourXml);
答案 1 :(得分:0)
SimpleXML with XPath:http://www.php.net/manual/en/simplexmlelement.xpath.php
$xmlSrc =<<<XML
<test>
<required>
<item type="binary">
<name>binary name</name>
<url visibility="restricted">test.exe</url>
</item>
<item type="document" subtype="mytype">
<name>doc test name</name>
<url visiblity="visible">my.pdf</url>
</item>
</required>
<optional>
<item type="document">
<name>doc name1</name>
<url visiblity="visible">user_guide1.pdf</url>
</item>
<item type="document2">
<name>doc name2</name>
<url visiblity="visible">user_guide2.pdf</url>
</item>
<item type="document3">
<name>doc name3</name>
<url visiblity="visible">user_guide3.pdf</url>
</item>
</optional>
<dependencies>
<dependency>
<url>test4.xml</url>
</dependency>
</dependencies>
</test>
XML;
$xml = new SimpleXMLElement($xmlSrc);
$required_names = $xml->xpath('/test/required/item/name');
$optional_names = $xml->xpath('/test/optional/item/name');
print_r($required_names);
print_r($optional_names);