导航:首页 > 编程语言 > javaxml添加节点

javaxml添加节点

发布时间:2023-05-15 11:53:47

java中的XML追加内容,追加节点,和节点的内容,还要常用的设计模式的代码

/**
* 根据Xml文件生成Document对象
*
* @param file
* xml文件路径
* @return Document对象
* @throws DocumentException
*/
public static Document getDocument(String path) throws DocumentException {
File file = new File(path);
SAXReader xmlReader = new SAXReader();
return xmlReader.read(file);
}

/**
* 根据输入流生成Document对象
*
* @param is
* 输入流
* @return Document对象
* @throws DocumentException
*/
public static Document getDocument(InputStream is) throws DocumentException {
SAXReader xmlReader = new SAXReader();
return xmlReader.read(is);
}

/**
* 根据Document得到根结点
*
* @param doc
* Document目录
* @return 根结点
* @throws DocumentException
*/
public static Element getRoot(String path) throws DocumentException {
Document doc = getDocument(path);
return doc.getRootElement();
}

/**
* 取出当前结点下的所有子结点
*
* @param root
* 当前结点
* @return 一组Element
* @throws DocumentException
*/
@SuppressWarnings("unchecked")
public static List<Element> getElements(String path)
throws DocumentException {
Element root = getRoot(path);
return root.elements();
}

/**
* 根据元素名称返回一组Element
*
* @param root
* 当前结点
* @param name
* 要返回的元素名称
* @return 一组Element
* @throws DocumentException
*/
@SuppressWarnings("unchecked")
public static List<Element> getElementsByName(String path, String name)
throws DocumentException {
Element root = getRoot(path);
return root.elements(name);
}

/**
* 根据元素名称返回一个元素(如果有多个元素的话,只返回第一个)
*
* @param root
* 当前结点
* @param name
* 要返回的元素名称
* @return 一个Element元素
* @throws DocumentException
*/
public static Element getElementByName(String path, String name)
throws DocumentException {
Element root = getRoot(path);
return root.element(name);
}

/**
* 根据当前元素,返回该元素的所有属性
*
* @param root
* 当前结点
* @return 当前结点的所有属性
* @throws DocumentException
*/
@SuppressWarnings("unchecked")
public static List<Attribute> getAttributes(String path)
throws DocumentException {
Element root = getRoot(path);
return root.attributes();
}

/**
* 根据属性名称,返回当前元素的某个属性
*
* @param root
* 当前结点
* @return 当前结点的一个属性
* @throws DocumentException
*/
public static Attribute getAttributeByName(String path, String name)
throws DocumentException {
Element root = getRoot(path);
return root.attribute(name);
}
public static List<Element> getElementWithAttribute(String path,String attr,String value) throws DocumentException{
List<Element> elist = new ArrayList<Element>() ;
List<Element> list = getElements(path);
for(Element element:list){
if(element.attribute(attr).getText().equals(value)){
elist.add(element);
}
}
try {
elist.add(getElementSelf(path, attr, value));
} catch (Exception e) {
// TODO: handle exception
}
return elist;
}
public static Element getElementSelf(String path,String attr,String value) throws DocumentException{
Element element = null ;
List<Element> list = getElements(path);
for(Element e:list){
if(e.attribute(attr).getText().equals(value)){
element = e ;
}
}
return element;
}

㈡ java如何在为XML添加新节点

dom操作Java,需要下载dom4j.jar包。
具体操作请见:http://blog.csdn.net/cds27/archive/2008/03/02/2139110.aspx

㈢ java 添加节点并保存成XML问题

在java编程中,用dom4j的api来处理xml,很简单的,给段代码,需要导入dom4j.jar

Documentdoc=DocumentHelper.createDocument();

//根节点

ElementrootEle=doc.addElement("root");

Elementele1=rootEle.addElement("ele1");

ele1.addText("节点1");

Elementele2=rootEle.addElement("ele2");

ele2.addText("节点2");

System.out.println(doc.asXML());

㈣ java对xml文件添加节点

/*
这里使用了dom4j组件,你需要自己去下载dom4j。
其中a.xml是你的源文件。
这个程序没有向磁盘中创建一个新文件,你可以自己修改代码。
例如:
XMLWriter xmlWriter = new XMLWriter(new PrintWriter(System.out), format);
可以修改为
XMLWriter xmlWriter = new XMLWriter(new FileWriter("a.xml"), format);
这样就可以修改源文件a.xml了。
*/

import org.dom4j.*;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
import org.dom4j.io.SAXReader;

import java.io.*;

public class Test {
public static void main(String[] args) {
SAXReader saxReader = new SAXReader();
try {
Document doc = saxReader.read(new File("a.xml"));
doc.getRootElement().addElement("PARAM")
.addElement("TASKLIST").addElement("TASK")
.addElement("DATA_TRAN_ID").addCDATA("14595");

OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding("gb2312");
XMLWriter xmlWriter = new XMLWriter(new PrintWriter(System.out), format);
xmlWriter.write(doc);
xmlWriter.close();
} catch (DocumentException e) {
e.printStackTrace();
} catch(IOException e) {
e.printStackTrace();
}
}
}

㈤ 通过java如何操作xml向其节点中添加内容比如<say>想添加的内容</say>

<say>我是个字符串可以随便填</say>
你是要代码吗
InputStream is= this.getClass.getInputStream("my.xml");
在通过 is获得内容我就说他是 String xml=is....
String str="想添加的内容";
String newxml=xml.replace("我是个字符串可以随便填",str);

㈥ java用dom更新xml的问题,怎么在子节点下添加节点

用dom找到子节点,用create方法创建节点,然后把它加到子节点上

㈦ Java xml DOM(删除,增加节点)

用jdom解析方式嘛

import java.io.*;

import org.jdom.*;

import org.jdom.output.*;

public class WriteXML

{

public void BuildXML() throws Exception

{

Element root,student,number,name,age;

root = new Element("悄指薯student-info"); //生成根元素:student-info

student = new Element("student"); //生成元素:student,该元素中将包含元素number,name,age

number = new Element("number");

name = new Element("name");

age = new Element("age");

Document doc = new Document(root); //将根元素植入文档doc中

number.setText("001");

name.setText("lnman");

age.setText("24"启者);

student.addContent(number);

student.addContent(name);

student.addContent(age);

root.addContent(student);

Format format = Format.getCompactFormat();

format.setEncoding("gb2312"); //设置xml文件的字符为gb2312

format.setIndent(" "); //设置xml文件的缩进为4个空格

XMLOutputter XMLOut = new XMLOutputter(format);//在元素后换行,每一层元素缩排四格

XMLOut.output(doc, new FileOutputStream("studentinfo.xml"));

}

public static void main(String[] args) throws Exception

{

WriteXML w = new WriteXML();

System.out.println("Now we build an XML document .....");

w.BuildXML();

System.out.println("finished!");

}
}

Dom的话比较麻烦.大逗陆体上是这样的
DocumentBuilderFactory bf = DocumentBuilderFactory.newInstance();
DocumentBuilder build = bf.newDocumentBuilder();
Document doc = build.parse("MyXml.xml");
NodeList nl = doc.getElementsByTagName("Structure");
Node nod = nl.item(0);
Element el = doc.createElement("Message_Info");
el.setAttribute("Name", "李四");
Element elMemo = doc.createElement("Memo");
elMemo.setTextContent("我还好");
el.appendChild(elMemo);

nod.appendChild(el);
TransformerFactory factory = TransformerFactory.newInstance();
Transformer tf = factory.newTransformer();
DOMSource sourse = new DOMSource(doc);
StreamResult result = new StreamResult("MyXml.xml");
tf.transform(sourse, result);

㈧ java 获取xml 父节点 并追加

你用什么解释xml啊,
子结点。append属性,然后父节点。append子结点啊。

㈨ 在java中,使用JDOM怎么给XML添加一个元素节点和一个属性节点

Element e = new Element("root");//根节点
Element ele = new Element("Class");//Class节点
ele.setAttribute("name","二年1班");//为class节点增加属性为name,值为二年一班的节点

㈩ java生成xml后毫无格式 求高手指点 代码如下 // 创建根节点

你应该用的jar是jdom吧.一下是格式化方法罩带.
XMLOutputter XMLOut = new XMLOutputter(FormatXML());

public Format FormatXML(){
//格式化生成的xml文件物铅芦,如果不进行格式化的话,生激腔成的xml文件将会是很长的一行...
Format format = Format.getCompactFormat();
format.setEncoding("utf-8");
format.setIndent(" ");
return format;
}

阅读全文

与javaxml添加节点相关的资料

热点内容
dbf文件压缩 浏览:614
江苏税务服务器异常云主机 浏览:469
有溯源码一定保真吗 浏览:997
云服务器建设方案 浏览:986
jquery源码讲解 浏览:280
宝马app如何发帖 浏览:861
重庆服务器托管商云空间 浏览:439
浦发银行app如何调流水 浏览:677
玉石鉴赏pdf 浏览:842
为什么小度APP一直连不上网络 浏览:163
pdf模板java 浏览:40
现代瑞纳的压缩比 浏览:128
网吧里的ftp服务器有什么用 浏览:872
程序员年终总结工作体会 浏览:153
pdf可以直接打印 浏览:661
android刷wp8 浏览:912
历史地图集pdf 浏览:926
快手app极速版怎么扫码 浏览:805
qq程序员玩法 浏览:96
1是什么门电路app 浏览:867