【问题标题】:XML attributes <item id="1"> vs <id> 1 </id> [duplicate]XML 属性 <item id="1"> 与 <id> 1 </id> [重复]
【发布时间】:2011-10-23 06:23:00
【问题描述】:

可能重复:
XML attribute vs XML element

sn -p "A" 有什么区别:

<root>
    <item id="1">
        <attr1> foo </attr1>
        <attr2> bar </attr2>
    </item>
</root>

并将“id”属性放在sn-p“B”中的元素内:

<root>
    <item>
        <id> 1 </id>
        <attr1> foo </attr1>
        <attr2> bar </attr2>
    </item>
</root>

假设我已经可以使用 DOM 的 createElement()appendChild ?

谢谢!

【问题讨论】:

标签: php xml append


【解决方案1】:

“id”是sn-p“A”中的一个属性和sn-p“B”中的一个节点。您可以使用setAttribute 来添加它。

【讨论】:

  • 谢谢。我不知道它们是什么或它们叫什么(因此我无法搜索它们)。显然,这几乎是对 S.O. 的犯罪。考虑到反对票。
【解决方案2】:

您可以在创建 id 元素后调用$element-&gt;setAttribute($name, $value)

【讨论】:

    【解决方案3】:

    使用 setAttribute 将属性添加到 DOM 元素:

    $domNode->setAttribute("id", "youridvalue");
    

    两者之间的唯一区别是用于获取值的语法,其中一个是添加属性,另一个是添加标签。两者都可以,我更喜欢属性。

    【讨论】:

    • 区别不仅仅在于语法。您可以在元素中使用 CDATA 部分,但不能在属性中使用。此外,该属性在整个文档中应该是唯一的,并且是特殊处理的主题:w3.org/TR/xml-id/#processing
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-27
    • 2011-11-10
    • 2015-01-21
    • 1970-01-01
    • 1970-01-01
    • 2018-07-10
    • 1970-01-01
    相关资源
    最近更新 更多