Помогите! Как добавить Child, чтобы указать Node с помощью PHP simpleXML? - PullRequest
0 голосов
/ 19 ноября 2010

Моя структура XML:

<users>
    <user id="126">
        <name>老黄牛三</name>
        <watchHistory>
             <whMonthRecords month="2010-10">
                    <whDateList month="2010-10">
                        <date>01</date>
                        <date>02</date>
                        <date>05</date>
                        <date>08</date>
                        <date>21</date>
                    </whDateList>
                    <whDateRecords date="2010-10-01">
                        <item itemID="1">飞越疯人院.老黄牛三.2010-10-01</item>
                        <item itemID="4">回到未.老黄牛三.2010-10-01来</item>
                        <item itemID="5">天天看的哦啊你.2010-10-01来</item>
                    </whDateRecords>
                    <whDateRecords date="2010-10-05">
                        <item itemID="1">飞越疯人院.老黄牛三.2010-10-05</item>
                        <item itemID="4">回到未来.老黄牛三.2010-10-05</item>
                    </whDateRecords>
                </whMonthRecords>
            <whMonthRecords month="2010-11">
             ........
            </whMonthRecords>
       <watchHistory>
    </user>
</users>

Теперь, как я могу добавить дочерний элемент:

<whDateRecords date="2010-10-06">
                    <item itemID="45">飞越疯人院.老黄牛三.2010-10-05</item>
                    <item itemID="432">回到未来.老黄牛三.2010-10-05</item>
                </whDateRecords>

к узлу: <whMonthRecords month="2010-10">

Спасибо большоемного!

1 Ответ

1 голос
/ 21 ноября 2010

Сначала найдите родителя узла, который вы хотите добавить, скажем, вы хотите добавить его в узел с месяцем 2010-10, используйте этот xpath:

$xpath = '//whMonthRecords[@month="2010-10"]';
$nodes = $sxml->xpath($xpath); //sxml is the xml object!
$parent = $nodes[0];

Теперь, когда у васродитель, вы можете добавить узел, используя метод addChild.

...