javaword批量转txt修改txt和xml

JAVA读取本地TXT文件转换为XML文件输出JAVA读取本地TXT文件转换为XML文件输出TXT文件中每-知识宝库
你可能对下面的信息感兴趣求助java编码问题(将xml文档写入txt文档)请高手指点啊
[问题点数:100分,结帖人xy3035]
求助java编码问题(将xml文档写入txt文档)请高手指点啊
[问题点数:100分,结帖人xy3035]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
本帖子已过去太久远了,不再提供回复功能。如何利用java编程,从txt文本文件中读取数据,并写入到XML文件中 ?
如何利用java编程,从txt文本文件中读取数据,并写入到XML文件中 ?
10-03-05 &匿名提问
XML作为全球通用的结构化语言,越来越受人们青睐,各种开发平台(比如Microsoft Studio系列、Oracle系列、Inprise Borland系列等)也都把支持XML开发作为宣传口号之一 。由于笔者所从事的电子政务开发较早的引入了XML,所以尝到了许多甜头,在许多项目中利用XML数据交换信息,省去了许多麻烦事,不用制定繁锁的数据格式,利用XML数据易于表达,也利于一线开发者跟踪调试。     笔者先前也曾发表过相关的文章,比如《简析Delphi中的XML编程》一文,有兴趣的读者可以到Google网()去搜索一下,有很多媒体转载。今天笔者想探讨的是关于JAVA中的XML编程,希望对正在或想要学习XML编程的新老读者有所帮助。     在XML应用中,最常用也最实用的莫过于XML文件的读写,所以笔者通过一个简单的XML文件读写来作简要分析。可以在任何文本编辑器中先建立如下结构的XML文件,类似于HTML结构,但XML语义比较严格,起始标记必须配对,比如&〈学生花名册〉&与&〈/学生花名册〉&对应,空格多少可不必在意,但一般都以缩格形式书写,便于阅读。把此文件命名为Input.xml,可以在任何支持XML的浏览器中打开测试一下,如果输入正确,在浏览中可以看到此文件的树形表示结构。如果您还对XML结构感到比较陌生,建议先看看《简析Delphi中的XML编程》一文中关于XML文件的说明。   &?xml version=&1.0& encoding=&GB2312&?&   &学生花名册&   &学生 性别 = &男&&   &姓名&李华&/姓名&   &年龄&14&/年龄&   &电话&6287555&/电话&   &/学生&   &学生 性别 = &男&&   &姓名&张三&/姓名&   &年龄&16&/年龄&   &电话&8273425&/电话&   &/学生&   &/学生花名册&     准备工作做完后,接着就开始写实质性的JAVA代码了。为保存从XML文件读入的信息,需要先建一个简单的Bean来保存学生信息,命名为StudentBean,代码如下所示:   public class StudentBean {   private S //学生性别   private S //学生姓名    //学生年龄   private S //电话号码     public void setSex(String s) {   sex =   }   public void setName(String s) {   name =   }   public void setAge(int a) {   age =   }   public void setPhone(String s) {   phone =   }   public String getSex() {      }
请登录后再发表评论!转:java使用xml方法编辑word
最近因为客户的要求,需要做一个关于项目具体信息导出到word的功能。java处理word已经存在很多种方法了,但是用起来都不是那么方便,而且不太灵活,而使用xml的方法可以做到非常灵活,你可以先建好模板,然后往里面填数,模板怎么建,填出来的效果就是怎么样的。首先说说word和xml的关系,每个word它都对应着一个xml文件,也就是说你修改了xml,对应的word文件也就跟着修改了。通过word的保存功能可以将一个word文件保存为xml文件,该文件虽然是.xml格式的,但是直接双击打开的话还是使用word打开,所以你只能用txt将它打开,用txt打开之后将里面的一句话:
去掉,然后保存,接着就可以双击直接打开了,这样使用的就是IE打开的,你这样就可以查看里面的节点具体的构造。
最上面的主节点是(如果不是的话,相信你将word文件保存成xml的时候使用的是07word,选择的是:word
xml文档(*.xml),你可以选择word 2003
xml文档(*.xml)试试);该主节点下面有大致8个节点,其中我们要操作的就是节点,该节点是word的正文节点,其他的节点没有去研究;下面包含的节点可能会有:段落节点、表格节点。
接着要做的就是在java程序中,使用dom来解析编辑xml文件,这里贴出一些代码来供大家参考:
public Document loadXML(String filename){//////////加载xml文件
Document document =
DocumentBuilderFactory factory =
DocumentBuilderFactory.newInstance();
DocumentBuilder builder=factory.newDocumentBuilder();
document=builder.parse(new File(filename));
document.normalize();
}catch (Exception ex){
ex.printStackTrace();
public boolean doc2XmlFile(Document document,File targetFile){
///////回写xml文件
boolean flag =
TransformerFactory tFactory =
TransformerFactory.newInstance();
Transformer transformer = tFactory.newTransformer();
DOMSource source = new DOMSource(document);
StreamResult result = new
StreamResult(targetFile.toURI().getPath());
transformer.transform(source, result);
}catch(Exception ex){
ex.printStackTrace();
String void function(){///////////程序入口
rootPath=ServletActionContext.getServletContext().getRealPath("/excelTemplate")+"\\";
Document document=loadXML(rootPath+"projectModel.xml");
Element root = document.getDocumentElement();
NodeList rootList=root.getChildNodes();
Node bodyNode=///////w:body
for(int i=0;i节点
bodyNode=rootList.item(i);
if("w:body".equals(bodyNode.getNodeName())){
NodeList nodeList=bodyNode.getChildNodes();
for(int i=0;i
Node node=nodeList.item(i);
if("w:tbl".equals(node.getNodeName())){
dealWithTableNode(document,node);
}else if("w:p".equals(node.getNodeName())){
dealWithWPNode(document,node);
File destFile = File.createTempFile("project", ".xml");
doc2XmlFile(document,destFile);///////回写
inputStream = new
FileInputStream(destFile);/////////生成流,用于下载
fileName=URLEncoder.encode(project.getProjectName(),"utf-8")+".doc";
}catch(Exception e){
e.printStackTrace();
1、在解析编辑xml文件的时候一定好看好节点的位置,比如一般的文本内容的话可能是在节点下的节点下的里设置,使用的是getTextContent()方法来获取它的内容,setTextContent()来设置它的参数
2、对于图片如何插入呢?首先最好在模板中插入一张图片,主要用于定下图片的那些格式,然后图片必须用java转成base64的字符串,这里也提供一个方法:
private String toBASE64codeFile(File file){
String codeString="";
FileInputStream fis=new FileInputStream(file);
BASE64Encoder encoder=new BASE64Encoder();
byte[] b=new byte[228];
int count=-1,n=0;
while((count=fis.read(b))!=-1){
codeString+=encoder.encode(b);
return codeS
}catch(Exception e){
e.printStackTrace();
return "";
然后找到节点:一般如果图片是在table里的话,该节点就是在----节点下面,不在table里的话就是:-,建议仿照用IE打开的xml对照一下。然后将该节点下的的内容置成你所要插入的图片的base64码即可。
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。有一个小软件是用java写的,不想说连接数据库,打算用xml代替或者直接是操作txt文件。但是具体搜索的时候要怎么解?还有就是如果连接数据库,在没有安装sql sever的机器上这个软件能运行起来嘛?
推荐用轻型数据库SQLite,很适合在PC客户端及移动终端上使用
除了Sqlite,早期还有个 berkeley db,不过现在貌似sqlite是更好的选择了
同意张扬的说法,可以考虑嵌入式数据库,和SQLite这种文件数据库
如果是采用数据库作为数据持久化的话,客户端可以远程连接数据库,没有安装sql server的机器一样可以运行;如果是采用文件系统作为数据持久化的话,那就直接是文件操作,但是具体的数据检索就需要自己设计合适有效的数据结构。不知道你的需求是什么样?是需要做一些一些类似文件内容的检索还是本地搜索?这些目前都已经有开源的实现,建议自行google之。
已有帐号?
无法登录?
社交帐号登录

我要回帖

更多关于 word批量转txt 的文章

 

随机推荐