导航:首页 > 编程语言 > 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添加节点相关的资料

热点内容
华为如何打开语音服务器 浏览:240
python中的idle 浏览:998
五轴联动数控编程 浏览:963
换一台电脑如何远程云服务器 浏览:130
阿里云怎么买云服务器 浏览:662
java提取文字 浏览:95
阿里云服务器同人账号问题 浏览:418
5分钟解压轴题 浏览:339
安卓桌面二级文件夹 浏览:186
eps文档加密 浏览:261
手机怎么做pdf 浏览:162
ug曲面pdf 浏览:279
液化气还是压缩气 浏览:950
阿里云公共ntp服务器地址 浏览:991
金字塔学习机编程 浏览:684
多边形扫描线算法Python 浏览:718
快手app快手粉条在哪里 浏览:256
mysql备份数据库命令linux 浏览:544
车辆解压手续怎么样 浏览:432
怎么提安卓版本号 浏览:622