会员
周边
众包
新闻
博问
闪存
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
爱睇资讯
IT资讯,最新最前沿。我们的口号:能解决实际问题的软件才是好软件!
业界新闻均来自
華爾街日報 中文網
博客园
首页
新随笔
联系
订阅
管理
JAXP-DOM验证XML
import java.io.File;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.Writer;
//
JAXP
import javax.xml.XMLConstants;
import javax.xml.parsers.FactoryConfigurationError;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.transform.Source;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamSource;
import javax.xml.validation.Schema;
import javax.xml.validation.SchemaFactory;
import javax.xml.validation.Validator;
//
DOM
import org.w3c.dom.Document;
import org.w3c.dom.DocumentType;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
public
class
TestDOMValidation
{
public
static
void
main(String[] args)
{
try
{
if
(args.length
!=
2
)
{
System.err.println (
"
Usage: java TestDOMValidation
"
+
"
[xml filename] [schema filename]
"
);
System.exit (
1
);
}
//
Get Document Builder Factory
DocumentBuilderFactory factory
=
DocumentBuilderFactory.newInstance();
//
Leave off validation, and turn off namespaces
factory.setValidating(
false
);
factory.setNamespaceAware(
false
);
DocumentBuilder builder
=
factory.newDocumentBuilder();
Document doc
=
builder.parse(
new
File(args[
0
]));
//
Handle validation
SchemaFactory constraintFactory
=
SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
Source constraints
=
new
StreamSource(
new
File(args[
1
]));
Schema schema
=
constraintFactory.newSchema(constraints);
Validator validator
=
schema.newValidator();
//
Validate the DOM tree
try
{
validator.validate(
new
DOMSource(doc));
System.
out
.println(
"
Document validates fine.
"
);
}
catch
(org.xml.sax.SAXException e)
{
System.
out
.println(
"
Validation error:
"
+
e.getMessage());
}
}
catch
(ParserConfigurationException e)
{
System.
out
.println(
"
The underlying parser does not support the requested features.
"
);
}
catch
(FactoryConfigurationError e)
{
System.
out
.println(
"
Error occurred obtaining Document Builder Factory.
"
);
}
catch
(Exception e)
{
e.printStackTrace();
}
}
}
posted @
2005-06-08 10:58
Rookie.Zhang
阅读(
757
) 评论(
0
)
编辑
收藏
举报
会员力量,点亮园子希望
刷新页面
返回顶部
公告