标签: xml-attribute

449
推荐指数
6
解决办法
13万
查看次数

我应该在XML中使用元素还是属性?

我正在学习W3Schools的XML属性.

作者提到了以下内容(强调我的):

XML元素与属性

<person sex="female">
  <firstname>Anna</firstname>
  <lastname>Smith</lastname>
</person>
Run Code Online (Sandbox Code Playgroud)
<person>
  <sex>female</sex>
  <firstname>Anna</firstname>
  <lastname>Smith</lastname>
</person>
Run Code Online (Sandbox Code Playgroud)

在第一个例子中,性是一种属性.在最后,性是一个元素.两个示例都提供相同的信息.

关于何时使用属性以及何时使用元素没有规则.属性在HTML中很方便.在XML中,我的建议是避免它们.请改用元素.

避免使用XML属性?

使用属性的一些问题是:

  • 属性不能包含多个值(元素可以)
  • 属性不能包含树结构(元素可以)
  • 属性不易扩展(用于将来的更改)

属性很难阅读和维护.使用元素数据.使用属性来获取与数据无关的信息.

那么作者的观点是一个着名的,或者这是XML中的最佳实践?

应该避免使用XML中的属性吗?

W3Schools还提到了以下内容(强调我的):

元数据的XML属性

有时ID引用分配给元素.这些ID可用于识别XML元素,其方式与HTML中的ID属性非常相似.此示例演示了这一点:

<messages>
  <note id="501">
    <to>Tove</to>
    <from>Jani</from>
    <heading>Reminder</heading>
    <body>Don't forget me this weekend!</body>
  </note>
  <note id="502">
    <to>Jani</to>
    <from>Tove</from>
    <heading>Re: Reminder</heading>
    <body>I will not</body>
  </note>
</messages>
Run Code Online (Sandbox Code Playgroud)

上面的ID只是一个标识符,用于标识不同的注释.它不是音符本身的一部分.

我在这里要说的是元数据(有关数据的数据)应该作为属性存储,并且数据本身应该存储为元素.

xml xml-attribute

70
推荐指数
6
解决办法
4万
查看次数

活动布局:片段类:vs android:name属性

我已经阅读了Android开发人员指南中有关Fragments的文档,我发现有时他们会指定要使用Fragment标记属性android:name进行实例化的类,有时他们会使用class: attribute:

<fragment
    android:name="com.example.news.ArticleReaderFragment"
    android:id="@+id/viewer"
    android:layout_weight="2"
    android:layout_width="0dp"
    android:layout_height="match_parent" />

<fragment
    class="com.example.android.apis.app.FragmentLayout$TitlesFragment"
    android:id="@+id/titles" 
    android:layout_weight="1"
    android:layout_width="0px" 
    android:layout_height="match_parent" />
Run Code Online (Sandbox Code Playgroud)

安卓:名称类:互换?如果我在Eclipse中使用自动完成功能,它们都会显示相同的文档提示(即该属性提供了要实例化的类名).当要实例化的类具有与java文件名不同的名称时,可能必须使用第二个名称,例如FragmentLayout.java文件中的TitlesFragment?或者我可以使用语法package.fileDOTjava $ Class也使用android:name属性?

我想为Android Java类提供一些XML标签和属性的文档(我在另一个问题中询问过它).

android xml-attribute android-xml android-fragments

63
推荐指数
2
解决办法
2万
查看次数

如何在XML标记内注释属性?

是否可以在XML标记内注释一个或多个属性?/* */来自C的东西

我尝试过使用<!-- -->,但没有成功.

<element
    attribute1="value1"
    attribute2="value2"
    <!-- attribute3="value3" (commented value) -->
>
Run Code Online (Sandbox Code Playgroud)

xml comments xml-attribute xml-comments

53
推荐指数
4
解决办法
2万
查看次数

是没有值的xml属性,有效吗?

我希望有一个没有任何值的XML属性,只有当它存在或不存在时才有一个含义.

这有效吗?

xml xml-attribute

44
推荐指数
3
解决办法
2万
查看次数

如何在XML属性值中包含&,<,>等

我想创建一个XML文件,用于存储Java程序的结构.我能够成功解析Java程序并根据需要创建标记.问题出现时,我尝试,包括我的标签中的源代码,因为Java源代码可以使用的实体引用广大和保留的字符,如&,<,>,&.我无法创建有效的XML.

我的XML应该是这样的:

<?xml version="1.0"?>
<prg name="prg_name">
  <class name= "class_name>
    <parent>parent class</parent>
      <interface>Interface name</interface>
.
.
.
      <method name= "method_name">
        <statement>the ordinary java statement</statement>
        <if condition="Conditional Expression">
          <statement> true statements </statement>
        </if>
        <else>
          <statement> false statements </statement>
        </else>
        <statement> usual control statements </statement>
 .
 .
 .
      </method>
    </class>
 .
 .
 .
 </prg>
Run Code Online (Sandbox Code Playgroud)

像这样,但问题是条件表达式if或其他语句中有很多&或其他保留符号阻止XML得到验证.由于所有这些数据(源代码)都是由用户提供的,因此我无法控制它.逃避角色在时间上将是非常昂贵的.

我可以使用CDATA来转义元素文本,但它不能用于包含条件表达式的属性值.我正在使用Antlr Java语法来解析Java程序并获取标记的属性和内容.那么还有其他解决方法吗?

java xml xml-attribute entityreference

40
推荐指数
2
解决办法
6万
查看次数

android:id和android:labelFor之间的区别?

我写了一个简单的布局,它有一个EditText,但它显示以下警告信息:

"没有标签视图指向此文本字段"

尽管搜索,我发现和它解决了警告信息,但并没有获得这两个属性之间的差异android:idandroid:labelFor.有任何澄清吗?

android xml-attribute editbox

37
推荐指数
2
解决办法
3万
查看次数

从SQL Server 2008表中的XML字段中提取属性

我有一个包含多个列的表,其中一xml列是一列.我没有在查询中使用的命名空间.对于所有记录,XML数据始终是相同的结构.

受控数据

create table #temp (id int, name varchar(32), xml_data xml)

insert into #temp values
(1, 'one',   '<data><info x="42" y="99">Red</info></data>'),
(2, 'two',   '<data><info x="27" y="72">Blue</info></data>'),
(3, 'three', '<data><info x="16" y="51">Green</info></data>'),
(4, 'four',  '<data><info x="12" y="37">Yellow</info></data>')
Run Code Online (Sandbox Code Playgroud)

期望的结果

Name    Info.x   Info.y   Info
-----   -------  -------  -------
one       42       99     Red
two       27       72     Blue
three     16       51     Green
four      12       37     Yellow
Run Code Online (Sandbox Code Playgroud)

部分工作

select Name, xml_data.query('/data/info/.').value('.', 'varchar(10)') as [Info]
from   #temp
Run Code Online (Sandbox Code Playgroud)

它返回NameInfo列.我无法弄清楚如何在不使用命名空间的情况下提取属性值.例如,以下查询返回错误:

查询1

select Name, xml_data.query('/data/info/@x') …
Run Code Online (Sandbox Code Playgroud)

xml-attribute sql-server-2008

28
推荐指数
1
解决办法
5万
查看次数

XSLT - 如何按属性选择XML属性?

这是我的源码xml的结构:

<root>
<DataSet Value="A">
<Data Value1="1" Value2="anythingA1" />
<Data Value1="2" Value2="anythingA2" />
<Data Value1="3" Value2="anythingA3" />
<Data Value1="4" Value2="anythingA4" />
<Data Value1="5" Value2="anythingA5" />
</DataSet>
</root>
Run Code Online (Sandbox Code Playgroud)

从中我喜欢创建一些变量,例如来自所有值为Value1 ="2"且所有值为Value1 ="5"的变量都应该导致myVar1与somethingA2和myVar2与anythingA5

我的approch看起来像这样

<xsl:variable name="myVarA" select="/DataSet/Data/[@Value1='2']/@Value2" />
Run Code Online (Sandbox Code Playgroud)

但是当然没有用,因为Value2不是Value1的孩子.

感谢任何提前提示!

xml xslt xpath xml-attribute

25
推荐指数
1
解决办法
12万
查看次数

XML属性中允许的最大字符数是多少?

XML属性中允许的最大字符数是否有标准?

我试过研究W3C财团,除了关于逃避特殊字符的一些注释之外,在字符限制上找不到任何东西.

xml xml-attribute

20
推荐指数
2
解决办法
3万
查看次数