律师所网站建设,南昌seo管理,郑州网站设计与制作,wordpress 分类菜单高亮介绍addAttribute和addNamepsace:
addAttribute 方法
addAttribute 方法用于给XML元素添加属性。属性#xff08;Attributes#xff09;是元素的修饰符#xff0c;提供了关于元素的额外信息#xff0c;并且位于元素的开始标签中。属性通常用于指定元素的行为或样式#…介绍addAttribute和addNamepsace:
addAttribute 方法
addAttribute 方法用于给XML元素添加属性。属性Attributes是元素的修饰符提供了关于元素的额外信息并且位于元素的开始标签中。属性通常用于指定元素的行为或样式而不是定义元素的层次结构。
例如如果想要给一个kml元素指定一个版本号会使用addAttribute方法
Element kml document.addElement(kml);
kml.addAttribute(version, 2.0);
这会在kml元素中添加一个version属性
kml version2.0/kml
addNamespace 方法
addNamespace 方法用于给XML元素声明一个命名空间Namespace。命名空间用于区分相同名字的元素或属性但属于不同的XML词汇表或XML语言的情况。在XML中命名空间是非常重要的因为它们允许文档中包含多个具有相同标签名的元素而这些元素来自不同的上下文。
当使用带有命名空间的XML时需要声明这些命名空间然后使用前缀来引用它们你可能会这样声明命名空间
Element kml document.addElement(kml);
kml.addNamespace(wpml, http://www.dji.com/wpmz/1.0.2);
这会在kml元素中声明一个wpml命名空间并且你可以在该元素的子元素中使用wpml前缀来引用这个命名空间
kml xmlns:wpmlhttp://www.dji.com/wpmz/1.0.2wpml:someElement/wpml:someElement
/kml
在这个例子中wpml是一个前缀它关联到了一个具体的URIhttp://www.dji.com/wpmz/1.0.2这个URI定义了wpml前缀下所有元素的词汇表。
总结
addAttribute 用于给元素添加属性属性是关于元素的额外信息通常用于描述元素的行为或样式。addNamespace 用于声明元素的命名空间命名空间用于区分不同XML词汇表中的同名元素或属性
遇错代码 // 创建document对象Document document DocumentHelper.createDocument();// 创建根节点kml并添加命名空间Element kml document.addElement(kml,http://www.opengis.net/kml/2.2#34;) .addAttribute(xmlns:wpml, http://www.dji.com/wpmz/1.0.2#34;); // -----------------创建信息-----------------// 创建Document节点Element documentElement kml.addElement(Document);// 添加作者信息Element author documentElement.addElement(wpml:author).addText(Ian);// 添加创建时间Element createTime documentElement.addElement(wpml:createTime).addText(1637600807044);// 用实时时间戳替换// 添加任务信息Element updateTime documentElement.addElement(wpml:updateTime).addText(1637600875837);// 用实时时间戳替换
修改后代码 // 创建根节点kml并添加命名空间Element kml document.addElement(kml,http://www.opengis.net/kml/2.2);kml.addAttribute(xmlns:wpml, http://www.dji.com/wpmz/1.0.2); // 创建Document节点Element documentElement kml.addElement(Document);// 使用命名空间创建元素Namespace wpmlNameSpace new Namespace(wpml, http://www.dji.com/wpmz/1.0.2);// 添加作者信息Element author documentElement.addElement(new QName(author,wpmlNameSpace)).addText(Ian);// 添加创建时间Element createTime documentElement.addElement(new QName(createTime,wpmlNameSpace)).addText(1637600807044);// 用实时时间戳替换// 添加任务信息Element updateTime documentElement.addElement(new QName(updateTime,wpmlNameSpace)).addText(1637600875837);// 用实时时间戳替换
生成xml 我们可以注意到对于kml无需添加命名空间xmlns默认即是xmlns只需要添加对应url即可不然导致子节点document出现xmlns问题并添加xmlswpml属性通过新创建的命名空间给author、createtime等子节点添加命名空间来避免报错。