XML 解析
两个来源的 XML 合并时可能重名(都有 <title>),命名空间(Namespace)解决这个问题:给元素加前缀区分归属。
声明命名空间
xmlns:前缀="URI"。URI 只是唯一标识符,不一定要能访问。默认命名空间 xmlns="URI" 不带前缀。
使用
<c:book xmlns:c="http://example.com/books"> 里的 c: 前缀标记元素属于该命名空间。解析时用"命名空间+本地名"定位元素。
代码示例
<?xml version="1.0"?>
<root>
<!-- 两个不同来源的 title -->
<book xmlns:b="http://example.com/book">
<b:title>XML 教程</b:title>
<b:price>39.9</b:price>
</book>
<article xmlns:a="http://example.com/article">
<a:title>编程心得</a:title>
<a:author>张三</a:author>
</article>
</root>
<!-- 默认命名空间 -->
<!-- <book xmlns="http://example.com/book">
<title>无前缀但属于 book 命名空间</title>
</book> -->