以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 XML在软件工程中的应用 』  (http://bbs.xml.org.cn/list.asp?boardid=6)
----  [求助]急!请教大家,用什么技术可以向xml文件里面写入数据  (http://bbs.xml.org.cn/dispbbs.asp?boardid=6&rootid=&id=28786)


--  作者:yuema
--  发布时间:3/17/2006 3:55:00 AM

--  [求助]急!请教大家,用什么技术可以向xml文件里面写入数据
我刚刚接触XML,现在有一个很急的问题向大家请教:用什么技术可以向xml文件里面写入数据?
例如:在XML文件里,我写了一个element 叫<input>,它的数值,需要用户来输入.我打算用Java编一个GUI, 用户通过windows风格的选项卡,将数值写好.
现在有2个问题.
1.用什么技术可以将GUI里面的数值, 传递(写入)到XML文件对应的"位置",比如<input></input>当中.我手里有"Beginning XML"这本大厚书,不知道应该具体看哪项技术
2.在我写XML文件的时候,因为要预留<input>的数值,但是,如果不写的活,就变成了<input/>,这样对我要将数据写入XML文件有影响吗?
                                                                                谢谢大家
--  作者:Jakson33
--  发布时间:3/21/2006 7:05:00 PM

--  
不能直接在同一个XML文件上进行操作,需要创建一个新的xml文件才行的。我也在思考这个问题,联系一下。QQ:215166628。
--  作者:hanqiou
--  发布时间:3/30/2006 10:50:00 AM

--  
这个用C#里面自带的API程序应该就很简单了.
我也是新手。不知道我说的是否正确
--  作者:jeeq
--  发布时间:8/26/2006 11:45:00 PM

--  
用xsl模板转换试试,应该可以的
--  作者:eoeac
--  发布时间:9/6/2006 9:54:00 AM

--  
jdom就行吧,我用web做过类似的东西
--  作者:phoenixfmc
--  发布时间:1/23/2007 10:21:00 AM

--  
import java.io.FileOutputStream;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;

import org.w3c.dom.Document;
import org.w3c.dom.Element;

import com.sun.org.apache.xml.internal.serialize.OutputFormat;
import com.sun.org.apache.xml.internal.serialize.XMLSerializer;

public class MyParser {

 /**
  * @param args
  */
 public static void main(String[] args) {

  try {
   
   String roleFile = "D:/XMLTest/MyXMLTest/WebContent/RoleBitmap.xml";

   DocumentBuilderFactory factory = DocumentBuilderFactory
     .newInstance();

   DocumentBuilder builder = factory.newDocumentBuilder();

   Document doc = builder
     .parse(roleFile);
   
   doc.normalize();
   
   Element root = doc.getDocumentElement();
   // 添加新的节点
   Element newNode = doc.createElement("role");
   
   newNode.setAttribute("id", "1006");
   
   newNode.setAttribute("name", "管理员的女友");
   
   newNode.setAttribute("purviewcode", "19811013");
   
   root.appendChild(newNode);
   // 输出
   OutputFormat oFormat = new OutputFormat(doc, "gb2312", true);
   
   FileOutputStream fos = new FileOutputStream(roleFile);
   
   XMLSerializer serializer = new XMLSerializer(fos, oFormat);
   
   serializer.serialize(doc);
   
   fos.close();

  } catch (Exception e) {

   e.printStackTrace();

  }

 }

}


--  作者:niweiliang
--  发布时间:3/13/2007 12:27:00 PM

--  
谢谢
--  作者:niweiliang
--  发布时间:3/13/2007 12:28:00 PM

--  
谢谢啊 我也想知道
--  作者:niweiliang
--  发布时间:3/13/2007 12:38:00 PM

--  
明天我再来看了
--  作者:toc1122
--  发布时间:5/2/2008 11:33:00 AM

--  
使用DOM(文档对象模型)技术,具体到java上可以是JDOM或者DOM4J,DOM4J是目前最好用的JAVA方向的DOM技术,DOM技术不适合处理大型XML文档,因为它要将整个XML文档加载到内存中处理。或者使用SAX技术(相对DOM复杂),它是基于流式机制处理XML文档的,对于处理大型XML文档,SAX技术从效率上要好于DOM。

推荐DOM


--  作者:突然忧郁
--  发布时间:5/2/2008 1:54:00 PM

--  
dom就能解决这个问题
如果你要不用dom,也可以自己写个xml解析器
--  作者:1500053
--  发布时间:5/10/2008 8:53:00 PM

--  
推荐DOM

W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
78.003ms