为什么XML for android是在开始标记之间写的?不在像HTML这样的开始和结束标签之间。

时间:2017-10-01 15:29:08

标签: android html xml

所以XML是android的标记语言。但我不明白为什么代码是用元素的开始标记写的,而不是像HTML一样在元素开始和结束标记之间。

我是XML的完全noob,非常感谢帮助。感谢。

例如,这是普通的XML,其中代码在标记之间写入。

<?xml version="1.0" encoding="UTF-8"?>
<note>
  <to>Tove</to>
  <from>Jani</from>
  <heading>Reminder</heading>
  <body>Don't forget me this weekend!</body>
</note>

这是用于android的XML,其中代码写在标签中。

<TextView android:id="@+id/text"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="This is a TextView" />

为何与众不同。

2 个答案:

答案 0 :(得分:0)

  

所以XML是android的标记语言

XML是Android恰巧使用的通用标记语言。在Android之前存在XML。

  

但我不明白为什么代码是在元素的开始标记中编写的,而不是像HTML一样在元素开始和结束标记之间。

HTML和XML都使用带有属性的嵌套元素(或者#34;标记&#34;在HTML术语中)。 Android布局资源使用具有属性的嵌套元素。

  

例如,这是普通的XML,其中代码在标记之间写入。

那不是&#34;正常&#34; XML。这只是XML。不要求任何XML文件看起来像这样,并且不要求以这种方式用XML表示该数据。以下是XML中数据的另一种表示形式:

<note to="Tove" from="Jani" heading="Reminder" body="Don't forget me this weekend!" />

这是另一个:

<note to="Tove" from="Jani">
  <heading>Reminder</heading>
  <body>Don't forget me this weekend!</body>
</note>

还有一个:

<note>
  <to>Tove<from>Jani<heading>Reminder<body>Don't forget me this weekend!</body></heading></from></to>
</note>

所有这些都是完全有效的XML。

  

这是用于android的XML,其中代码用标记

编写

在Android布局资源中,元素(大多数)代表ViewViewGroup子类,其中的属性定义了这些小部件和容器的外观。创建Android的开发人员为数据选择了这种特定的XML表示。他们可以做其他事情。

答案 1 :(得分:0)

在XML中,我们可以为其中的元素添加一些属性标记。 例如,如果您的示例中的注释是&#34;绝密的&#34;请注意,绝密可能是&#34;在&#34;标签作为属性(由您来决定&#34;绝密&#34;是否是笔记的属性或其内部元素):

    <note top-secret="true">
      <to>Tove</to>
      <from>Jani</from>
      <heading>Reminder</heading>
      <body>Don't forget me this weekend!</body>
    </note>

TextView是一个没有内部元素的元素(id,width和...被确定为TextView的属性)。当XML标签没有任何内部元素时,我们可以通过在&#39;&gt;&#39;之前添加斜杠来将结束标记与开始标记合并。字符。因此,TextView是一个元素,它的结束标记与其开始标记合并。它可以写成如下:

    <TextView android:id="@+id/text"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="This is a TextView"></TextView>

在Android中,查看像ScrollView这样的容器有内部元素:

    <ScrollView
      android:layout_width="match_parent"
      android:layout_height="wrap_content">

      <TextView android:id="@+id/text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="This is a TextView"/>

    </ScrollView>