XML How to Program
Beginning Xml Databases
Beginning XSLT and XPath Transforming XML Documents and Data
ASP.NET 2.0 XML
XML 手册 4th Edition
XML Schema Complete Reference
Designing Web Navigation
Web Standards Creativity
Learning Web Design
The Web Programmers Desk Reference
......
function getkeyvalue(s_keyname,s_keystr)
s_keybegin="<"+s_keyname+">"
s_keyend="</"+s_keyname+">"
s_i_begin=instr(s_keystr,s_keybegin)
s_i_end=instr(s_keystr,s_keyend)
if s_i_end<=s_i_begin+len(s_keybegin) then
getkeyvalue=""
exit function
else
getkeyvalue=mid(s_keystr,s_i_begin+len(s_keybegin),s_i_end-s_i_begin-len(s_keybegin))
exit function
end if
end function
function setkeyvalue(s_keyname,s_keystr,s_keyvalue)
if isnull(s_keyvalue) then
setkeyvalue=s_keystr
exit function
end if
s_keybegin="<"+s_keyname+">"
s_keyend="</"+s_keyname+">"
s_i_begin=instr(s_keystr,s_keybegin)
s_i_end=instr(s_keystr,s_keyend)
if s_i_end<=s_i_begin+len(s_keybegin) then
setkeyvalue=s_keystr+s_keybegin+s_keyvalue+s_keyend
exit function
else
setkeyvalue=mid(s_keystr,1,s_i_begin-1)+s_keybegin+s_keyvalue+s_keyend+mid(s_keystr,s_i_end+len(s_keyend))
exit function
end if
end function ......
下载 dom4j-1.6.1.jar。
1: package org.zzp.common.xml.dom4j;
2:
3: import java.io.FileWriter;
4: import java.io.IOException;
5: import org.dom4j.Document;
6: import org.dom4j.DocumentHelper;
7: import org.dom4j.Element;
8: import org.dom4j.io.OutputFormat;
9: import org.dom4j.io.XMLWriter;
10:
11: public class Dom4jDemo {
12: public static void main(String[] args) {
13: Document doc=DocumentHelper.createDocument();
14: Element root=doc.addElement("students");
15: Element s1=root.addElement("student");
16: s1.addElement("id","1");
17: Element name=s1.addElement("name","王建宙");
18: name.addAttribute("sex", "非");
19: OutputFormat format=OutputFormat.createPrettyPrint();
20: format.setEncoding("gbk");
21: try {
22: XMLWriter out=new XMLWriter(new FileWriter("test.xml"),format);
23: out.write(doc);
2 ......
下载 dom4j-1.6.1.jar。
1: package org.zzp.common.xml.dom4j;
2:
3: import java.io.FileWriter;
4: import java.io.IOException;
5: import org.dom4j.Document;
6: import org.dom4j.DocumentHelper;
7: import org.dom4j.Element;
8: import org.dom4j.io.OutputFormat;
9: import org.dom4j.io.XMLWriter;
10:
11: public class Dom4jDemo {
12: public static void main(String[] args) {
13: Document doc=DocumentHelper.createDocument();
14: Element root=doc.addElement("students");
15: Element s1=root.addElement("student");
16: s1.addElement("id","1");
17: Element name=s1.addElement("name","王建宙");
18: name.addAttribute("sex", "非");
19: OutputFormat format=OutputFormat.createPrettyPrint();
20: format.setEncoding("gbk");
21: try {
22: XMLWriter out=new XMLWriter(new FileWriter("test.xml"),format);
23: out.write(doc);
2 ......
需要dom4j.jar文件 ,自行下载。 test.xml 1: <?xml version="1.0" encoding="gbk"?>
2:
3: <students>
4: <person sex="男" age="21">
5: <id>1</id>
6: <name>章治鹏</name>
7: <homepage>http://blog.csdn.net/tonyzzp</homepage>
8: </person>
9: <person age="20">
10: <id>2</id>
11: <name>徐雄皓</name>
12: <homepage boolean="false">http://www.xxh.com</homepage>
13: </person>
14: </students>
XMLStudentsParam.java
1: package org.zzp.common.xml.dom4j;
2:
3: public enum XMLStudentsParam {
4: id,name,homepage,sex,age
5: }
Dom4jReadDemo.java
1: package org.zzp.common.xml.dom4j;
2:
3: import java.util.Iterator;
4: import java.util.List;
5:
6: import org.dom4j.Attribute;
7: import org.dom4j.Document;
8: imp ......
需要dom4j.jar文件 ,自行下载。 test.xml 1: <?xml version="1.0" encoding="gbk"?>
2:
3: <students>
4: <person sex="男" age="21">
5: <id>1</id>
6: <name>章治鹏</name>
7: <homepage>http://blog.csdn.net/tonyzzp</homepage>
8: </person>
9: <person age="20">
10: <id>2</id>
11: <name>徐雄皓</name>
12: <homepage boolean="false">http://www.xxh.com</homepage>
13: </person>
14: </students>
XMLStudentsParam.java
1: package org.zzp.common.xml.dom4j;
2:
3: public enum XMLStudentsParam {
4: id,name,homepage,sex,age
5: }
Dom4jReadDemo.java
1: package org.zzp.common.xml.dom4j;
2:
3: import java.util.Iterator;
4: import java.util.List;
5:
6: import org.dom4j.Attribute;
7: import org.dom4j.Document;
8: imp ......
Introduction to XML and XML With Java
If you are looking for sample programs to parse a XML file using DOM/SAX parser or looking for a program to generate a XML file please proceed directly to programs.
This small tutorial introduces you to the basic concepts of XML and using Xerces parser for Java to generate and parse XML.
The intended audience are XML beginners with knowledge of Java.
Last updated:
03 Oct 2005.Modified programs runs in JDK 1.3, JDK 1.4 and JDK 1.5. Xerces parser is used with JDK 1.4 and 1.3.
Contents
1 Introduction
2 What is XML
3 Advantages of XML
3.1 Readability
3.2 Hierarchical
3.3 Language Independent
3.4 OS independent
4 Uses of XML
4.1 MetaContent
4.2 Messaging
4.3 Database
5 Parsers
5.1 DOM
5.2 SAX
5.3 When to use DOM Parser
5.4 When to use SAX Parser
5.5 Validating And Non Validating
5.6 Well Formedness
6 Programs
6.1 Parsing and Printing
6.1.1 Using DOM
6.1.2 Using SAX
6.2 Generating X ......
Introduction to XML and XML With Java
If you are looking for sample programs to parse a XML file using DOM/SAX parser or looking for a program to generate a XML file please proceed directly to programs.
This small tutorial introduces you to the basic concepts of XML and using Xerces parser for Java to generate and parse XML.
The intended audience are XML beginners with knowledge of Java.
Last updated:
03 Oct 2005.Modified programs runs in JDK 1.3, JDK 1.4 and JDK 1.5. Xerces parser is used with JDK 1.4 and 1.3.
Contents
1 Introduction
2 What is XML
3 Advantages of XML
3.1 Readability
3.2 Hierarchical
3.3 Language Independent
3.4 OS independent
4 Uses of XML
4.1 MetaContent
4.2 Messaging
4.3 Database
5 Parsers
5.1 DOM
5.2 SAX
5.3 When to use DOM Parser
5.4 When to use SAX Parser
5.5 Validating And Non Validating
5.6 Well Formedness
6 Programs
6.1 Parsing and Printing
6.1.1 Using DOM
6.1.2 Using SAX
6.2 Generating X ......
写这篇文章的原因有如下几点:1)C++标准库中没有操作XML的方法,用C++操作XML文件必须熟悉一种函数库,LIBXML2是其中一种很优秀的XML库,而且它同时支持多种编程语言;2)LIBXML2库的Tutorial写得不太好,尤其是编码转换的部分,不适用于中文编码的转换;3)网上的大多数关于Libxml2的介绍仅仅是翻译了自带的资料,没有详细介绍如何在windows平台下进行编程,更很少提到如何解决中文问题。
基于以上几点原因,决定写一个在Windows平台下,使用C/C++语言,应用LibXml2库来进行xml文档操作,同时使用ICONV库进行中文编码转换的文档。其中还涉及了Makefile、XPATH等相关内容。本文中所有的源代码在http://www.blogjava.net/Files/wxb_nudt/xml_src.rar。
1. 下载与安装LIBXML2和ICONV
Libxml2是一个C语言的XML程序库,可以简单方便的提供对XML文档的各种操作,并且支持XPATH查询,以及部分的支持XSLT转换等功能。Libxml2的下载地址是http://xmlsoft.org/,完全版的库是开源的,并且带有例子程序和说明文档。最好将这个库先下载下来,因为这样可以查看其中的文档和例子。
windows版本的的下载地址是http://www.zlatkovic.com/libxml.en.htm ......
写这篇文章的原因有如下几点:1)C++标准库中没有操作XML的方法,用C++操作XML文件必须熟悉一种函数库,LIBXML2是其中一种很优秀的XML库,而且它同时支持多种编程语言;2)LIBXML2库的Tutorial写得不太好,尤其是编码转换的部分,不适用于中文编码的转换;3)网上的大多数关于Libxml2的介绍仅仅是翻译了自带的资料,没有详细介绍如何在windows平台下进行编程,更很少提到如何解决中文问题。
基于以上几点原因,决定写一个在Windows平台下,使用C/C++语言,应用LibXml2库来进行xml文档操作,同时使用ICONV库进行中文编码转换的文档。其中还涉及了Makefile、XPATH等相关内容。本文中所有的源代码在http://www.blogjava.net/Files/wxb_nudt/xml_src.rar。
1. 下载与安装LIBXML2和ICONV
Libxml2是一个C语言的XML程序库,可以简单方便的提供对XML文档的各种操作,并且支持XPATH查询,以及部分的支持XSLT转换等功能。Libxml2的下载地址是http://xmlsoft.org/,完全版的库是开源的,并且带有例子程序和说明文档。最好将这个库先下载下来,因为这样可以查看其中的文档和例子。
windows版本的的下载地址是http://www.zlatkovic.com/libxml.en.htm ......