11 个解决方案
#1
为解决自定义标志中出现的“名称冲突”
(即不同的实体使用同一标志进行描述)现象,
可将不同的实体赋予不同的命名空间,解析器则通过命名空间来区分元素.
(即不同的实体使用同一标志进行描述)现象,
可将不同的实体赋予不同的命名空间,解析器则通过命名空间来区分元素.
#2
假设在同一个xml文档中出现 了
<books>
<book>
<title></title>
<author>
<name></name>
<title></title>
</author>
</book>
</books>
这样一个xml文挡 ,你想如果没有命名空间的话 会不会冲突呢.
<books>
<book>
<title></title>
<author>
<name></name>
<title></title>
</author>
</book>
</books>
这样一个xml文挡 ,你想如果没有命名空间的话 会不会冲突呢.
#3
假设加了
<books>
<book>
<title></title>
<author>
<people:name></people:name>
<people:title></people:title>
</author>
</book>
</books>
这样就不会冲突了。
<books>
<book>
<title></title>
<author>
<people:name></people:name>
<people:title></people:title>
</author>
</book>
</books>
这样就不会冲突了。
#4
其实就是怕命名冲突
比如说
这样的情况要考虑
按你说的那种情况可以不用考虑,但是你那么做要是需修改就灵活性大点。。
比如说
<?xml version="1.0"?>
<title>xml命名<title>
<author>
<name>张三</name>
<title>作家</title>
</author>
这样的情况要考虑
按你说的那种情况可以不用考虑,但是你那么做要是需修改就灵活性大点。。
#5
就是为了避免重复
重复了 其他程序解析的时候就会不知道要取得的是哪个元素
重复了 其他程序解析的时候就会不知道要取得的是哪个元素
#6
我觉得这也不会冲突啊,建立个xpath,指定完全的路径,不会冲突访问。
要访问 <title>作家</title>,就用/author/title,
要访问<title>xml命名<title>,就用/title,
这样不也行吗?
#7
和java包差不多
#8
比如所有xml有两类title,一个是book,一个是page
明显选择这种标签:<book:title> <page:title>
比<title>
增加可读性,灵活性
相比<book-title> 和 <page-title>
更方便管理
明显选择这种标签:<book:title> <page:title>
比<title>
增加可读性,灵活性
相比<book-title> 和 <page-title>
更方便管理
#9
MARK
#10
XML标签没有被预定义,每个标签要自己定义,每个人都能定义,所以会出现很多人或公司定义出相同的标签,而这些标签因定义的人不同,意义也不一样。因此要有命名空间,说白了就是指明这个标签谁定义的,然后根据不同的定义的人来解释这个标签
#11
嗯 个人觉得10楼的说到点子上了,因为就算有同名的元素出现,也完全可以根据不同的路径和标志性属性来区分。关键是看各自的解析方法,所以赞成10楼的根据命名空间去调用不同的解析方法。
#1
为解决自定义标志中出现的“名称冲突”
(即不同的实体使用同一标志进行描述)现象,
可将不同的实体赋予不同的命名空间,解析器则通过命名空间来区分元素.
(即不同的实体使用同一标志进行描述)现象,
可将不同的实体赋予不同的命名空间,解析器则通过命名空间来区分元素.
#2
假设在同一个xml文档中出现 了
<books>
<book>
<title></title>
<author>
<name></name>
<title></title>
</author>
</book>
</books>
这样一个xml文挡 ,你想如果没有命名空间的话 会不会冲突呢.
<books>
<book>
<title></title>
<author>
<name></name>
<title></title>
</author>
</book>
</books>
这样一个xml文挡 ,你想如果没有命名空间的话 会不会冲突呢.
#3
假设加了
<books>
<book>
<title></title>
<author>
<people:name></people:name>
<people:title></people:title>
</author>
</book>
</books>
这样就不会冲突了。
<books>
<book>
<title></title>
<author>
<people:name></people:name>
<people:title></people:title>
</author>
</book>
</books>
这样就不会冲突了。
#4
其实就是怕命名冲突
比如说
这样的情况要考虑
按你说的那种情况可以不用考虑,但是你那么做要是需修改就灵活性大点。。
比如说
<?xml version="1.0"?>
<title>xml命名<title>
<author>
<name>张三</name>
<title>作家</title>
</author>
这样的情况要考虑
按你说的那种情况可以不用考虑,但是你那么做要是需修改就灵活性大点。。
#5
就是为了避免重复
重复了 其他程序解析的时候就会不知道要取得的是哪个元素
重复了 其他程序解析的时候就会不知道要取得的是哪个元素
#6
我觉得这也不会冲突啊,建立个xpath,指定完全的路径,不会冲突访问。
要访问 <title>作家</title>,就用/author/title,
要访问<title>xml命名<title>,就用/title,
这样不也行吗?
#7
和java包差不多
#8
比如所有xml有两类title,一个是book,一个是page
明显选择这种标签:<book:title> <page:title>
比<title>
增加可读性,灵活性
相比<book-title> 和 <page-title>
更方便管理
明显选择这种标签:<book:title> <page:title>
比<title>
增加可读性,灵活性
相比<book-title> 和 <page-title>
更方便管理
#9
MARK
#10
XML标签没有被预定义,每个标签要自己定义,每个人都能定义,所以会出现很多人或公司定义出相同的标签,而这些标签因定义的人不同,意义也不一样。因此要有命名空间,说白了就是指明这个标签谁定义的,然后根据不同的定义的人来解释这个标签
#11
嗯 个人觉得10楼的说到点子上了,因为就算有同名的元素出现,也完全可以根据不同的路径和标志性属性来区分。关键是看各自的解析方法,所以赞成10楼的根据命名空间去调用不同的解析方法。