*/
public void createXml(File file) {
// XML 声明 <?xml version="1.0" encoding="UTF-8"?>自动添加到 XML文档中
// 使用DocumentHelper类创建文档实例(生成 XML文档节点的 dom4j API工厂类)
Document document = DocumentHelper.createDocument()
// 使用addElement()方法创建根元素 employees(用于向 XML 文档中增加元素)
Element root = document.addElement("employees")
// 在根元素中使用 addComment()方法添加注释"An XML Note"
root.addComment("An XML Note")
// 在根元素中使用 addProcessingInstruction()方法增加一个处理指令
root.addProcessingInstruction("target", "text")
// 在根元素中使用 addElement()方法增加employee元素。
Element empElem = root.addElement("employee")
// 使用 addAttribute()方法向employee元素添加id和name属性
empElem.addAttribute("id", "0001")
empElem.addAttribute("name", "wanglp")
// 向employee元素中添加sex元素
Element sexElem = empElem.addElement("sex")
// 使用setText()方法设置sex元素的文本
sexElem.setText("m")
// 在employee元素中增加age元素 并设置该元素的文本。
Element ageElem = empElem.addElement("age")
ageElem.setText("25")
// 在根元素中使用 addElement()方法增加employee元素。
Element emp2Elem = root.addElement("employee")
// 使用 addAttribute()方法向employee元素添加id和name属性
emp2Elem.addAttribute("id", "0002")
emp2Elem.addAttribute("name", "fox")
// 向employee元素中添加sex元素
Element sex2Elem = emp2Elem.addElement("sex")
// 使用setText()方法设置sex元素的文本
sex2Elem.setText("f")
// 在employee元素中增加age元素 并设置该元素的文本。
Element age2Elem = emp2Elem.addElement("age")
age2Elem.setText("24")
// 可以使用 addDocType()方法添加文档类型说明。
// document.addDocType("employees", null, "file://E:/Dtds/dom4j.dtd")
// 这样就向 XML 文档中增加文档类型说明:
// <!DOCTYPE employees SYSTEM "file://E:/Dtds/dom4j.dtd">
// 如果文档要使用文档类型定义(DTD)文档验证则必须有 Doctype。
try {
XMLWriter output = new XMLWriter(new FileWriter(file))
output.write(document)
output.close()
} catch (IOException e) {
System.out.println(e.getMessage())
}
}
这段源码里面包含了各种 *** 作
JAXB中的继承问题问题
JAXB是我用过的java处理XML的方法中做方便的一个,在jaxb中如何使用类的集成关系有一个小小的需要注意的地方。看下面的两端XML。
XML
示例1:
<a>
<b></b>
<c></c>
<a>
XML示例2:
<a>
<b></b>
<d></d>
<a>
这两段XML的唯一差别就在c元素与d元素。为了生成这两个XML,有几种方案。
方案一
不利用类的继承来重用代码,写两套Java代码, 如:
@XmlRootElement(name = a)
public class A
{
B b
C c:
}
@XmlRootElement(name = a)
public class A2
{
B b
D d:
}
public class B {}
public class D {}
这一方案不是我们想要的,虽然可以解决问题,但是不能重用两个XML中共有的结构。
方案二
利用一个父类表示两个XML之间的共同的结构,用两个子类扩展这个父类,分别添加 C 和 D
元素。
代码如下:
@XmlRootElement(name = "a")
public class A {
B
b
}
public class B {}
public class C {}
public class D
{}
public class E extends A {
C c
}
public class F
extends A {
D d
}
这一方案看似很直观,但是实践中却发现 E 和 F 却都只能生成 父类的
部分,如下的XML:
<a>
<b></b>
<a>
即使把 @XmlRootElement(name = “a”) 移到 E 和 F类上也行不通。
方案三
用一个类代表共同的结构,用一个父类代表C和D元素,在用两个类代表具体化的C和D类,如:
@XmlRootEelemnt(name =
"a")
public class A {
B b
@XmlElements({
@XmlElement(name =
"c", type=C.class),
@XmlElement(name = "d", type=D.class)
})
E
e
}
public class B {}
public class E {}
public class C extends
E {}
public class D extends E {}
这样做才最终达到目的。关键点就是@XmlElements的使用。
这写的有点太乱了吧,js和jQuery结合?!!?js这样写一句话就可以
document.getElementsByTagName("input")[0].setAttribute("disabled", "disabled")
jQuery这样一句话就可以
$("input").attr("disabled","disabled")
jQuery attr() 方法设置或返回被选元素的属性值。
获取属性值语法
$(selector).attr(attribute)
参数描述
attribute规定要获取其值的属性。
设置属性
设置被选元素的属性和值。
语法
$(selector).attr(attribute,value)
参数 描述
attribute规定属性的名称。
value 规定属性的值。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)