PHP SimpleXMLElement,get元素及其子元素为XML

PHP SimpleXMLElement,get元素及其子元素为XML,php,xml,simplexml,Php,Xml,Simplexml,假设我有以下XML: <Book> <bookname>thename</bookname> <chapters> <chapter> <name>chapter1</name> </chapter> <chapter> <name>chapter2</nam

假设我有以下XML:

<Book>
    <bookname>thename</bookname>
    <chapters>
        <chapter>
            <name>chapter1</name>
        </chapter>
         <chapter>
            <name>chapter2</name>
        </chapter>
    </chapters>
</Book>
但是,如果我有一个包含许多不需要的注释的大型XML,那么这就很乏味了。知道由谁使用所需元素的名称提取该元素吗?

我们开始:

<?php

$inputXML ="
<Book>
    <bookname>thename</bookname>
    <chapters>
        <chapter>
            <name>chapter1</name>
        </chapter>
        <chapter>
            <name>chapter2</name>
        </chapter>
    </chapters>
</Book>
";

/* Load from file:
$parseXML = simplexml_load_file( $fileURL );
*/
$parseXML = simplexml_load_string( $inputXML );
$chapters = $parseXML->chapters->asXML();

echo $chapters;

?>


注意:您的xml必须格式良好,当前您的
没有结束标记。

xml的子节点本身就是simplexmlements–因此您也可以对它们调用axXml方法

由于XML中只有一个
章节
节点,因此

$resultXML->chapters->asXml()

可以。

$resultXML->chapters->asXml()。@CBroe这太简单了,不可能是真的!你能给我一个答案让我投票吗?
<?php

$inputXML ="
<Book>
    <bookname>thename</bookname>
    <chapters>
        <chapter>
            <name>chapter1</name>
        </chapter>
        <chapter>
            <name>chapter2</name>
        </chapter>
    </chapters>
</Book>
";

/* Load from file:
$parseXML = simplexml_load_file( $fileURL );
*/
$parseXML = simplexml_load_string( $inputXML );
$chapters = $parseXML->chapters->asXML();

echo $chapters;

?>
$resultXML->chapters->asXml()