xml小结
来源:互联网 发布:软件项目计划书医疗 编辑:程序博客网 时间:2024/06/05 18:07
1,XML 大小写敏感
<p></p> 开始结束标签都要有或者<img src=””/>
属性必须用双引号扩起attribute values must be enclosed in quotation marks
Attribute必须有值,<input type="radio" name="language" value="Java" checked>.
这样错误,必须checked=“true”
2,XML稳定已header开头<?xml version="1.0"?>或<?xml version="1.0" encoding="UTF-8"?>当然此header是optional的
Header后跟着dtd如下
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
当然dtd也是optional的
3,XML body,以一个根元素tag包含其他的tag,根tag自由定义
如下的mixed content
<font>
Helvetica
<size>36</size>
</font>
4,XML elements can contain attributes, such as
<size unit="pt">36</size>
5 ,一般尽量使用elements不要用attribute
Elements:
<font>
<name>Helvetica</name>
<size>36</size>
</font>
Attribute:
<font name="Helvetica" size="36"/>
问题是假如要给size添加单位时
<font name="Helvetica" size="36 pt"/>这样parser要解析"36 pt"
而Elements的方式更为清晰
<font>
<name>Helvetica</name>
<size unit="pt">36</size>
</font>
6特殊标记
· é é
· ™ ™.
· <小于
· >大于
· &&号
· "引号
· '省略号
7,CDATA 表示为 <![CDATA[ and ]]>.其中的特殊符号不会被转义为标记符号
其中不能有]]>符号 ,其中的内容原样输出,
8,Processing instructions处理指令<? and ?>,
· <?xml-stylesheet href="mystyle.css" type="text/css"?>
9,注释为<!-- and -->,
· <!-- This is a comment. -->
解析XML文档
1,
·
·
SAX用于解析大型文档,或者是只关心xml中的部分元素时使用,占内存少
Dom Parser
The DOM parser interface已经是W3C的标准,该标准定义了Document and Element,Node等interface,各厂商的解析器均实现该接口
2The Sun Java API for XML Processing (JAXP) library actually makes it possible to plug in any of these parsers. But Sun also includes its own DOM parser in the Java SDK
使用sun的SDK中的parser如下:
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
File f = . . .
Document doc = builder.parse(f);
或
URL u = . . .
Document doc = builder.parse(u);
或
InputStream in = . . .
Document doc = builder.parse(in);
Element root = doc.getDocumentElement();
NodeList children = root.getChildNodes();
for (int i = 0; i < children.getLength(); i++)
{
Node child = children.item(i);
if (child instanceof Element)
{
Element childElement = (Element) child;
Text textNode = (Text) childElement.getFirstChild();
String text = textNode.getData().trim();
if (childElement.getTagName().equals("name"))
name = text;
else if (childElement.getTagName().equals("size"))
size = Integer.parseInt(text);
}
}
SAX parser
SAXParserFactory factory = SAXParserFactory.newInstance(); SAXParser parser = factory.newSAXParser();parser.parse(source, handler);
Example 12-8. SAXTest.java
import java.io.*;
{
public static void main(String[] args) throws Exception
{
String url;
if (args.length == 0)
{
待续....
- xml小结
- xml小结
- xml小结
- XML小结
- XML小结
- xml 小结
- XML 小结
- xml小结
- XML小结
- XML小结
- XML小结
- xml小结
- xml小结
- 转XML文档小结
- XSLT转换XML小结
- java操作xml小结
- XSLT转换XML小结
- xml读写小结
- Trie 树(转自 http://hi.baidu.com/luyade1987/item/7c1977f5e9015cdf6225d224)
- Wireshark中的一些SNMP相关的过滤器
- 感染者(并查集入门)
- 河南要求撤并学校前需进行听证-河南-撤并-听证
- 响应状态码
- xml小结
- android 两个程序之间如何通过 service 来监听广播
- 安全思维导图
- 上海撞死5名养护工肇事者称捡眼镜时打歪方向-撞死-养护工
- QTcpSocket类中文参考
- POJ-1149-PIGS
- Oracle rownum方式分页和rownum解析
- 找最佳通路
- 【学习笔记】BOM和UTF编码纪要