`

用jdk自带包操作XML

阅读更多
写XML:
import org . w3c . dom . * ;
import javax . xml . parsers . * ;
import javax . xml . transform . * ;
import javax . xml . transform . dom . DOMSource ;
import javax . xml . transform . stream . StreamResult ;
import java . io . * ;


public class XmlWrite {
private Document document ;
private String filename;
public XmlWrite( String name ) throws ParserConfigurationException {
filename= name ;
DocumentBuilderFactory factory= DocumentBuilderFactory . newInstance ( ) ;
DocumentBuilder builder= factory. newDocumentBuilder ( ) ;
document = builder. newDocument ( ) ;
}
public void toWrite( String mytitle, String mycontent) {
Element root= document . createElement ( "WorkShop" ) ;
document . appendChild ( root) ;
Element title= document . createElement ( "Title" ) ;
title. appendChild ( document . createTextNode ( mytitle) ) ;
root. appendChild ( title) ;
Element content= document . createElement ( "Content" ) ;
content. appendChild ( document . createTextNode ( mycontent) ) ;
root. appendChild ( content) ;
}
public void toSave( ) {
try {
TransformerFactory tf= TransformerFactory . newInstance ( ) ;
Transformer transformer = tf. newTransformer ( ) ;
DOMSource source = new DOMSource ( document ) ;
transformer . setOutputProperty ( OutputKeys . ENCODING , "GB2312" ) ;
transformer . setOutputProperty ( OutputKeys . INDENT , "yes" ) ;
PrintWriter pw= new PrintWriter ( new FileOutputStream ( filename) ) ;
StreamResult result = new StreamResult ( pw) ;
transformer . transform ( source , result ) ;
}
catch ( TransformerException mye) {
mye. printStackTrace ( ) ;
}
catch ( IOException exp ) {
exp . printStackTrace ( ) ;
}
}
public static void main( String args[ ] ) {
try {
XmlWrite myxml= new XmlWrite( "9.xml" ) ;
myxml. toWrite( "中文题目" , "中文内容" ) ;
myxml. toSave( ) ;
System . out. print ( "Your writing is successful." ) ;
}
catch ( ParserConfigurationException exp ) {
exp . printStackTrace ( ) ;
System . out. print ( "Your writing is failed." ) ;
}
}
}

读XML:
import java . io . * ;
import java . util . Vector ;
import javax . xml . parsers . * ;
import org . w3c . dom . * ;
public class XmlRead {
static Document document ;
private boolean validating;
public XmlRead( ) {
}
public Vector toRead( String filename) {
Vector title= new Vector ( ) ;
Vector content= new Vector ( ) ;
String myStr= new String ( ) ;
try {
DocumentBuilderFactory factory = DocumentBuilderFactory . newInstance ( ) ;
factory. setValidating ( validating) ;
DocumentBuilder builder = factory. newDocumentBuilder ( ) ;
document = builder. parse ( new File ( filename) ) ;
document . getDocumentElement ( ) . normalize ( ) ;
Node node = document . getFirstChild ( ) ;
NodeList list = node . getChildNodes ( ) ;
for ( int i = 0; i < list . getLength ( ) ; i+ + ) {
Node nodeitm = list . item ( i) ;
if ( nodeitm. getNodeName ( ) . equals ( "Title" ) ) {
myStr= nodeitm. getFirstChild ( ) . getNodeValue ( ) ;
title. addElement ( myStr) ; //getFirstChild()

}
if ( nodeitm. getNodeName ( ) . equals ( "Content" ) ) {
myStr= nodeitm. getFirstChild ( ) . getNodeValue ( ) ;
content. addElement ( myStr) ;
}
}
} catch ( Exception exp ) {
exp . printStackTrace ( ) ;
return null ;
}
Vector all= new Vector ( ) ;
all. add ( title) ;
all. add ( content) ;
return all;
}
public static void main( String [ ] args) {
Vector A;
XmlRead my = new XmlRead( ) ;
A = my. toRead( "9.xml" ) ;
for ( int i = 0; i < A. size ( ) ; i+ + ) {
System . out. println ( A. elementAt ( i) ) ;
}
}
}
 

 

分享到:
评论

相关推荐

    JDK自带方法解析xml特定格式的字符串

    本篇文章将详细探讨如何使用JDK自带的方法解析XML特定格式的字符串。 首先,我们需要了解JDK中处理XML的主要API,包括`javax.xml.parsers`包下的`DocumentBuilderFactory`和`DocumentBuilder`,以及`org.w3c.dom`包...

    JDK自带xml解析器dom+sax

    JDK(Java Development Kit)提供了两种内置的XML解析器:DOM(Document Object Model)和SAX(Simple API for XML),它们各有特点,适用于不同的场景。 1. DOM解析XML: DOM解析器将整个XML文档加载到内存中,...

    jdk 6.0 自带webservice实现 实例

    JDK 6.0 自带 Webservice 实现实例是使用 JDK 自带的功能来实现 Webservice 的一个示例。这个示例展示了如何使用 JDK 6.0 中自带的轻量级 Webservice 服务器来发布一个简单的 Webservice。 首先,我们需要使用 ...

    找不到javafx、JDK中不自带javafx专用包jfxrt.jar-只要1积分

    在Java 11及更高版本中,如果你需要使用JavaFX,你不再能在JDK的`lib`目录下找到`jfxrt.jar`。这意味着开发者需要单独下载并管理JavaFX的依赖。这可能是你在寻找`jfxrt.jar`的原因。`jfxrt.jar`包含了JavaFX运行时...

    jdk自带工具说明

    - **`apt.exe`**:Java注釋處理器,用於生成代碼或其他輸出,如XML文件等。 - **`appletviewer.exe`**:Java Applet查看器,用於測試和運行Java Applets。 - **`jar.exe`**:Java文件壓縮打包工具,用於創建、維護...

    64位自带1.8JDK tomcat,无需配置环境变量直接启动

    标题中的“64位自带1.8JDK tomcat”指的是这个压缩包内包含的是一个64位版本的Apache Tomcat服务器,同时集成了Java Development Kit(JDK)的1.8版本。这意味着用户在使用这个Tomcat时,无需单独下载和安装JDK,...

    简单建立数据连接池及JDK自带日志使用

    本篇文章将详细介绍如何简单地建立数据连接池以及如何使用JDK自带的日志功能。 首先,我们来了解数据连接池的基本原理。数据连接池,如Apache的Commons DBCP、C3P0或HikariCP,它们预先创建一定数量的数据库连接,...

    JDK1.6API中文版

    CHM文件是一种常见的帮助文档格式,可以用Windows自带的“Microsoft HTML Help Viewer”打开,方便离线查阅。通过文档,开发者可以学习到每个类和方法的详细描述、参数、返回值以及示例代码,极大地提高了开发效率。

    jdk1.6.0_45.tar.gz

    5. **开发者工具**:JDK自带的开发工具集(如Javadoc、JDB调试器和javac编译器)可能在1.6.0_45中得到了改进,以提供更好的用户体验和错误处理能力。 ### `.tar.gz` 文件格式 `.tar.gz` 是一种常见的文件打包和压缩...

    visualvm jdk插件

    VisualVM是一款强大的Java应用程序性能分析工具,它是JDK自带的一部分,可以用来监控和诊断Java应用程序。VisualVM提供了丰富的功能,包括内存分析、线程检查、CPU使用率监测、类加载和垃圾收集信息等,帮助开发者...

    bcprov-jdk15on-1.49.jar中文文档.zip

    java,bcprov-jdk15on-***.jar,org.bouncycastle,bcprov-jdk15on,***,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,bouncycastle,bcprov,jdk15on,中文API文档,手册,开发手册,使用手册,参考手册 ...

    bcprov-jdk15on-1.56.jar中文文档.zip

    java,bcprov-jdk15on-***.jar,org.bouncycastle,bcprov-jdk15on,***,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,bouncycastle,bcprov,jdk15on,中文API文档,手册,开发手册,使用手册,参考手册 ...

    bcprov-jdk15on-1.54.jar中文文档.zip

    java,bcprov-jdk15on-***.jar,org.bouncycastle,bcprov-jdk15on,***,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,bouncycastle,bcprov,jdk15on,中文API文档,手册,开发手册,使用手册,参考手册 ...

    bcprov-jdk15on-1.58.jar中文文档.zip

    java,bcprov-jdk15on-***.jar,org.bouncycastle,bcprov-jdk15on,***,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,bouncycastle,bcprov,jdk15on,中文API文档,手册,开发手册,使用手册,参考手册 ...

    jdk1.6_green_32bit

    9. **JConsole**:JDK自带的性能监控工具JConsole在1.6中得到增强,可以提供更详细的内存、CPU和线程监控,帮助开发者诊断性能问题。 10. **JAR文件签名和验证**:1.6版本改进了对JAR文件的签名和验证机制,增强了...

    bcprov-jdk15on-1.60.jar中文文档.zip

    java,bcprov-jdk15on-***.jar,org.bouncycastle,bcprov-jdk15on,***,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,bouncycastle,bcprov,jdk15on,中文API文档,手册,开发手册,使用手册,参考手册 ...

    jdk6.0中文文档

    5. **开发工具**:涵盖了JDK自带的开发工具,如javac编译器、jar打包工具、javadoc文档生成器等,以及如何使用这些工具进行开发。 6. **部署和安全**:讨论了Java应用的部署策略、网络应用的安全控制,以及如何使用...

    Web Service学习小结——基于JDK自带JAX-WS实现的web service

    在本篇文章中,我们将探讨如何利用Java SDK中的JAX-WS(Java API for XML Web Services)来创建和消费Web服务。 JAX-WS是Java平台上的一个标准组件,用于构建和部署SOAP Web服务。它简化了Web服务开发过程,提供了...

    bcprov-jdk15on-1.46.jar中文文档.zip

    java,bcprov-jdk15on-***.jar,org.bouncycastle,bcprov-jdk15on,***,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,bouncycastle,bcprov,jdk15on,中文API文档,手册,开发手册,使用手册,参考手册 ...

    解析XML的四种JAR包jdom.jar、SAX.jar、dom4j.jar、dom.jar

    - **功能需求**:如果需要XPath查询,可以选择dom4j或JDK自带的DOM解析器。 - **社区支持和文档**:dom4j和JDOM都有丰富的文档和活跃的社区,遇到问题时更容易找到解决方案。 在实际开发中,应根据项目需求和性能...

Global site tag (gtag.js) - Google Analytics