怎么创建公众号写文章,百度seo推广优化,一个人看的在线观看视频免费下载,网站空间如何申请我正在尝试解析下面的XML,以便最终得到一个看起来像样本的数组……我很难弄清楚如何获取标签内部的属性以输出我想要的方式它…XML我想要的数组::注意添加的数组元素Array[cust] Array[rid] 999999[member_id] 12345[lname] Doe[fname] John[address]…我正在尝试解析下面的XML,以便最终得到一个看起来像样本的数组……我很难弄清楚如何获取标签内部的属性以输出我想要的方式它…XML我想要的数组::注意添加的数组元素Array[cust] Array[rid] 999999[member_id] 12345[lname] Doe[fname] John[address] Array[0] Array[memberid] 12345[address1] 1234 Mockingbird Lane[address2] [city] Oakland[state] CA[zip] 91111[country] United States[phone] Array[0] Array[memberid] 12345[phonenumber] 415.555.1212[countrycodeid] 1[phonetype] Mobile[custcode] Array[0] Array[memberid] 12345[ccode] Silver[deleted] 1[1] Array[memberid] 12345[ccode] Gold解决方法:您可以使用DOMDocument及其字段/方法来提取数据.DOMDocument也是DOMNode有一个名为attributes的字段,它是属性名称的映射和值的节点,因此您可以从中获取属性名称和值(#6-9).每个节点都有firstChild和next兄弟,你可以浏览所有子节点(#12-26).从那以后,您可以相应地创建数据数组.这是我使用的代码(稍作调整)./*01*/ function Parse($XMLNode, $XMLData null) {/*02*/ if ($XMLData null)/*03*/ $XMLData array();/*04*//*05*/ // Extract attribute as the array values/*06*/ if ($XMLNode-hasAttributes()) {/*07*/ foreach ($XMLNode-attributes as $AttrName $AttrNode)/*08*/ $XMLData[$AttrName] $AttrNode-nodeValue;/*09*/ }/*10*//*11*/ // Loop all child/*12*/ $Child $XMLNode-firstChild;/*13*/ while ($Child ! null) {/*14*/ $Name $Child-nodeName;/*15*/ if ($Name ! #text) { // Ignore the text/*16*/ $Nodes $XMLData[$Name];/*17*/ if ($Nodes null)/*18*/ $Nodes array(); // Array value from subnode is a nest array/*19*//*21*/ $Nodes[] Parse($Child);/*22*/ $XMLData[$Name] $Nodes;/*23*/ }/*24*//*25*/ $Child $Child-nextSibling;/*26*/ }/*27*/ return $XMLData;/*28*/ }/*29*//*31*/ $XML /*32*/ /*33*/ /*34*/ /*35*/ /*36*/ /*37*/ /*38*/ EOF;/*39*//*41*/ $DOC new DOMDocument();/*42*/ $DOC-loadXML($XML);/*43*/ $Data Parse($DOC-firstChild);/*44*//*45*/ print_r($Data);上面的代码按预期返回结果.希望这可以帮助.标签php,xml,parsing来源 https://codeday.me/bug/20191003/1849723.html