pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

<i id='yTfIE'><tr id='yTfIE'><dt id='yTfIE'><q id='yTfIE'><span id='yTfIE'><b id='yTfIE'><form id='yTfIE'><ins id='yTfIE'></ins><ul id='yTfIE'></ul><sub id='yTfIE'></sub></form><legend id='yTfIE'></legend><bdo id='yTfIE'><pre id='yTfIE'><center id='yTfIE'></center></pre></bdo></b><th id='yTfIE'></th></span></q></dt></tr></i><div class="e3shv8n" id='yTfIE'><tfoot id='yTfIE'></tfoot><dl id='yTfIE'><fieldset id='yTfIE'></fieldset></dl></div>

  1. <legend id='yTfIE'><style id='yTfIE'><dir id='yTfIE'><q id='yTfIE'></q></dir></style></legend>

      <tfoot id='yTfIE'></tfoot>

      <small id='yTfIE'></small><noframes id='yTfIE'>

      • <bdo id='yTfIE'></bdo><ul id='yTfIE'></ul>

      如何區(qū)分表示元素和屬性的 SimpleXML 對象?

      How to tell apart SimpleXML objects representing element and attribute?(如何區(qū)分表示元素和屬性的 SimpleXML 對象?)

        <tbody id='VPVz9'></tbody>

      <small id='VPVz9'></small><noframes id='VPVz9'>

            <bdo id='VPVz9'></bdo><ul id='VPVz9'></ul>

            <legend id='VPVz9'><style id='VPVz9'><dir id='VPVz9'><q id='VPVz9'></q></dir></style></legend>

          • <tfoot id='VPVz9'></tfoot>

                <i id='VPVz9'><tr id='VPVz9'><dt id='VPVz9'><q id='VPVz9'><span id='VPVz9'><b id='VPVz9'><form id='VPVz9'><ins id='VPVz9'></ins><ul id='VPVz9'></ul><sub id='VPVz9'></sub></form><legend id='VPVz9'></legend><bdo id='VPVz9'><pre id='VPVz9'><center id='VPVz9'></center></pre></bdo></b><th id='VPVz9'></th></span></q></dt></tr></i><div class="hovmzf3" id='VPVz9'><tfoot id='VPVz9'></tfoot><dl id='VPVz9'><fieldset id='VPVz9'></fieldset></dl></div>
              1. 本文介紹了如何區(qū)分表示元素和屬性的 SimpleXML 對象?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

                問題描述

                我需要以特定方式打印任意 SimpleXML 對象,并對屬性節(jié)點進行特殊處理.

                I need to print arbitrary SimpleXML objects in a specific manner, with special handling of attribute nodes.

                問題在于 SimpleXML 元素和屬性似乎使用完全相同的類,屬性節(jié)點甚至假裝支持 attributes() 方法,而 SimpleXML 隱藏了其內(nèi)部結(jié)構(gòu),因此似乎沒有可以通過任何方式告訴節(jié)點類型(除了生成 XML 并重新解析它).

                The problem is that SimpleXML elements and attributes seem to use exactly the same class, attribute node even pretends to support attributes() method, and SimpleXML hides its internals, so there doesn't seem to be any way to tell type of node (short of generating XML and reparsing it).

                兩者都給出相同的結(jié)果:

                $element = new SimpleXMLElement('<foo>test</foo>');
                echo $element;
                print_r($element);
                
                $element = new SimpleXMLElement('<foo attr="test" />');
                echo $element['attr'];
                print_r($element['attr']);
                

                是否有允許在 SimpleXML 中識別節(jié)點類型的隱藏屬性/方法?等效于 DOM 的 $node->nodeType$node instanceof DOMAttr?(我不能用 DOM 代替,支持 SimpleXML 是核心要求).

                Is there a hidden property/method that allows identifying type of node in SimpleXML? Equivalent of DOM's $node->nodeType or $node instanceof DOMAttr? (I can't use DOM instead, support for SimpleXML is core requirement).

                推薦答案

                SimpleXMLElement 中沒有內(nèi)置屬性可以讓您區(qū)分這些.

                There are no built-in properties in SimpleXMLElement which would allow you to tell these apart.

                正如其他人所建議的 dom_import_simplexml 可能是合適的,但是,該功能可以改變有時,節(jié)點是動態(tài)的,例如,如果您傳入子節(jié)點或命名子節(jié)點的列表,它會將它們轉(zhuǎn)換為第一個元素.

                As others have suggested dom_import_simplexml can be appropriate, however, that function can change nodes on the fly sometimes, for example, if you pass in a list of childnodes or named childnodes, it will take those and turn them into the first element.

                如果它是一個空列表,例如沒有從 attributes() 返回的屬性或不存在的命名子節(jié)點,它會給出一個警告,告訴你一個無效的節(jié)點類型已經(jīng)給出:

                If it's an empty list, for example no attributes returned from attributes() or non-existing named childnodes, it will give a warning telling you an invalid nodetype has been given:

                警告:dom_import_simplexml():要導入的節(jié)點類型無效

                Warning: dom_import_simplexml(): Invalid Nodetype to import

                因此,如果您需要使用活潑的布爾值 true/false 進行精確處理,請使用 Simplexml:

                So if you need this precise with a snappy boolean true/false, here is how it works with Simplexml:

                $isElement   = $element->xpath('.') == array($element);
                
                $isAttribute = $element[0] == $element
                               and $element->xpath('.') != array($element);
                

                它與屬性列表和元素列表類似,我只是早上寫了一篇關(guān)于這個的博客,你需要有一些關(guān)于評估什么的具體知識,所以我為它創(chuàng)建了一個備忘單:

                It works similar with attribute lists and element lists, I've just blogged about this in the morning, you need to have some specific knowledge about what to evaluate for what, so I created a cheatsheet for it:

                +------------------+---------------------------------------------+
                | TYPE             | TEST                                        |
                +------------------+---------------------------------------------+
                | Element          | $element->xpath('.') == array($element)     |
                +------------------+---------------------------------------------+
                | Attribute        | $element[0] == $element                     |
                |                  | and $element->xpath('.') != array($element) |
                +------------------+---------------------------------------------+
                | Attributes       | $element->attributes() === NULL             |
                +------------------+---------------------------------------------+
                | Elements         | $element[0] != $element                     |
                |                  | and $element->attributes() !== NULL         |
                +------------------+---------------------------------------------+
                | Single           | $element[0] == $element                     |
                +------------------+---------------------------------------------+
                | Empty List       | $element[0] == NULL                         |
                +------------------+---------------------------------------------+
                | Document Element | $element->xpath('/*') == array($element)    |
                +------------------+---------------------------------------------+
                

                • SimpleXML 類型備忘單(2013 年 2 月 12 日;作者:hakre)
                • 這篇關(guān)于如何區(qū)分表示元素和屬性的 SimpleXML 對象?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

                  【網(wǎng)站聲明】本站部分內(nèi)容來源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請聯(lián)系我們刪除處理,感謝您的支持!

                相關(guān)文檔推薦

                MySQLi prepared statement amp; foreach loop(MySQLi準備好的語句amp;foreach 循環(huán))
                Is mysqli_insert_id() gets record from whole server or from same user?(mysqli_insert_id() 是從整個服務器還是從同一用戶獲取記錄?)
                PHP MySQLi doesn#39;t recognize login info(PHP MySQLi 無法識別登錄信息)
                mysqli_select_db() expects exactly 2 parameters(mysqli_select_db() 需要 2 個參數(shù))
                Php mysql pdo query: fill up variable with query result(Php mysql pdo 查詢:用查詢結(jié)果填充變量)
                MySQLI 28000/1045 Access denied for user #39;root#39;@#39;localhost#39;(MySQLI 28000/1045 用戶“root@“l(fā)ocalhost的訪問被拒絕)

                <small id='EisWp'></small><noframes id='EisWp'>

                  <tbody id='EisWp'></tbody>
                1. <tfoot id='EisWp'></tfoot>
                    <i id='EisWp'><tr id='EisWp'><dt id='EisWp'><q id='EisWp'><span id='EisWp'><b id='EisWp'><form id='EisWp'><ins id='EisWp'></ins><ul id='EisWp'></ul><sub id='EisWp'></sub></form><legend id='EisWp'></legend><bdo id='EisWp'><pre id='EisWp'><center id='EisWp'></center></pre></bdo></b><th id='EisWp'></th></span></q></dt></tr></i><div class="bqioyai" id='EisWp'><tfoot id='EisWp'></tfoot><dl id='EisWp'><fieldset id='EisWp'></fieldset></dl></div>

                    <legend id='EisWp'><style id='EisWp'><dir id='EisWp'><q id='EisWp'></q></dir></style></legend>
                      <bdo id='EisWp'></bdo><ul id='EisWp'></ul>

                        1. 主站蜘蛛池模板: 破碎机_上海破碎机_破碎机设备_破碎机厂家-上海山卓重工机械有限公司 | 郑州墨香品牌设计公司|品牌全案VI设计公司 | 网站制作优化_网站SEO推广解决方案-无锡首宸信息科技公司 | 陶瓷加热器,履带式加热器-吴江市兴达电热设备厂 | 北京遮阳网-防尘盖土网-盖土草坪-迷彩网-防尘网生产厂家-京兴科技 | 薄壁轴承-等截面薄壁轴承生产厂家-洛阳薄壁精密轴承有限公司 | 曙光腾达官网-天津脚手架租赁-木板架出租-移动门式脚手架租赁「免费搭设」 | 磁粉制动器|张力控制器|气胀轴|伺服纠偏控制器整套厂家--台灵机电官网 | 首页-恒温恒湿试验箱_恒温恒湿箱_高低温试验箱_高低温交变湿热试验箱_苏州正合 | Boden齿轮油泵-ketai齿轮泵-yuken油研-无锡新立液压有限公司 | 长江船运_国内海运_内贸船运_大件海运|运输_船舶运输价格_钢材船运_内河运输_风电甲板船_游艇运输_航运货代电话_上海交航船运 | 媒介云-全网整合营销_成都新闻媒体发稿_软文发布平台 | 西安微信朋友圈广告投放_微信朋友圈推广_西安度娘网络科技有限公司 | 尾轮组_头轮组_矿用刮板_厢式刮板机_铸石刮板机厂家-双驰机械 | 一体化污水处理设备_生活污水处理设备_全自动加药装置厂家-明基环保 | 穿线管|波纹穿线管|包塑金属软管|蛇皮管?闵彬专注弱电工程? | 丹佛斯变频器-丹佛斯压力开关-变送器-广州市风华机电设备有限公司 | 乐之康护 - 专业护工服务平台,提供医院陪护-居家照护-居家康复 | 全屋整木定制-橱柜,家具定制-四川峨眉山龙马木业有限公司 | 软文发布平台 - 云软媒网络软文直编发布营销推广平台 | PTFE接头|聚四氟乙烯螺丝|阀门|薄膜|消解罐|聚四氟乙烯球-嘉兴市方圆氟塑制品有限公司 | 恒湿机_除湿加湿一体机_恒湿净化消毒一体机厂家-杭州英腾电器有限公司 | 网站建设,北京网站建设,北京网站建设公司,网站系统开发,北京网站制作公司,响应式网站,做网站公司,海淀做网站,朝阳做网站,昌平做网站,建站公司 | 密集柜_档案密集柜_智能密集架_密集柜厂家_密集架价格-智英伟业 密集架-密集柜厂家-智能档案密集架-自动选层柜订做-河北风顺金属制品有限公司 | 清水混凝土修复_混凝土色差修复剂_混凝土色差调整剂_清水混凝土色差修复_河南天工 | 铝机箱_铝外壳加工_铝外壳厂家_CNC散热器加工-惠州市铂源五金制品有限公司 | 南京雕塑制作厂家-不锈钢雕塑制作-玻璃钢雕塑制作-先登雕塑厂 | 湖南自考_湖南自学考试 | 光伏家 - 太阳能光伏发电_分布式光伏发电_太阳能光伏网 | 高速龙门架厂家_监控杆_多功能灯杆_信号灯杆_锂电池太阳能路灯-鑫世源照明 | 低气压试验箱_高低温低气压试验箱_低气压实验箱 |林频试验设备品牌 | 1000帧高速摄像机|工业高速相机厂家|科天健光电技术 | 河南中专学校|职高|技校招生-河南中职中专网 | 精密交叉滚子轴承厂家,转盘轴承,YRT转台轴承-洛阳千协轴承 | 北京租车公司_汽车/客车/班车/大巴车租赁_商务会议/展会用车/旅游大巴出租_北京桐顺创业租车公司 | 橡胶接头_橡胶软接头_可曲挠橡胶接头-巩义市创伟机械制造有限公司 | 聚氨酯保温钢管_聚氨酯直埋保温管道_聚氨酯发泡保温管厂家-沧州万荣防腐保温管道有限公司 | 深圳高新投三江工业消防解决方案提供厂家_服务商_园区智慧消防_储能消防解决方案服务商_高新投三江 | 大数据营销公司_舆情监测软件_上海SEO公司-文军营销官网 | 防水套管_柔性防水套管_刚性防水套管-巩义市润达管道设备制造有限公司 | 北京发电车出租-发电机租赁公司-柴油发电机厂家 - 北京明旺盛安机电设备有限公司 |