Asp.net xml代码有什么问题

Asp.net xml代码有什么问题,asp.net,xml,Asp.net,Xml,我在一次考试中提出了这个问题,以说明这段XML代码的错误,我不知道答案可能是什么: 我猜这封电子邮件可能会有垃圾邮件之类的问题。原始答案:您不能为自己的目的在XML中命名属性“id”。它是XML模式空间的保留名称,实际上用于标识特定元素,然后根据XML id进行查找 编辑 XML的问题可能是建模问题。您对姓名、电子邮件和电话使用属性这一事实意味着联系人的每个属性只能有一个值。也许你的教授正在寻找一种新的模式,例如: <contact id="10" name="foo"> &

我在一次考试中提出了这个问题,以说明这段XML代码的错误,我不知道答案可能是什么:


我猜这封电子邮件可能会有垃圾邮件之类的问题。

原始答案:您不能为自己的目的在XML中命名属性“id”。它是XML模式空间的保留名称,实际上用于标识特定元素,然后根据XML id进行查找

编辑 XML的问题可能是建模问题。您对姓名、电子邮件和电话使用属性这一事实意味着联系人的每个属性只能有一个值。也许你的教授正在寻找一种新的模式,例如:

<contact id="10" name="foo">
   <email>sdfsdfsdf</email>
   <email>sdfsdfsdf</email>
</contact>

sdfsdfsdf
sdfsdfsdf

XML属性不用于携带对象数据

XML的结构应如下所示:

<contact>
  <id>10</id>
  <name>randomName</name>
  <email>first.last@gmail.com</email>
  <phone>09090909</phone>
</contact>

10
随机名称
第一。last@gmail.com
09090909


进一步阅读:

这些引号是“不是”或“那些引号看起来像是无效的。你确定“没有”不是一个可接受的答案吗(暂时忽略引号问题,这可能是偶然的)?它们是“没有”我找不到这个“在我的键盘上,所以我没有意识到”是不正确的。使用属性不会使XML无效。正如网站上所说,这是“我最喜欢的方式”,所以这是基于观点的。我将“错误”解释为为什么这不是最佳实践。OP没有提到有效性,我也没有。MSXML和.NET解析器都没有抱怨。我的意思是属性“id”可以在那里,但它不是对象的id。相反,它是XML元素的id。XML中没有保留的单词。但是,有些保留名称(DOCTYPE,隐含),但它们的前缀是标志字符。请参见此处:。“保留”可能是错误的词,但id仍然有特定的含义。@SaniHuttunen:你确定吗?怎么样
xmlns
?我们能够简单地将其作为一个属性进行查询吗?