Привет,
Сейчас я прохожу проект, касающийся манипуляций с XML.Я хочу переписать данные из одного файла XML в другой.Я установил свое кодирование и отображение ошибок в консоли.Поскольку я новичок в этом проекте, я не знаю, пишется ли эта концепция или нет. Может кто-нибудь помочь мне узнать об этой проблеме?
Буду признателен за любые указатели ..
кодирование:
import java.io.StringReader;
import java.util.Iterator;
import java.util.List;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;
public class Test3 {
static Document profile = new Document();
static Element html = new Element("html");
public static void main(String[] args) throws JDOMException {
try{
profile.setRootElement(html);
String xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><myhtml> <body> <h1 align=\"center\">Profile</h1><hr /> <div class=\"centered\"> <table><tr><td><strong>Name: </strong></td> <td>A</td> </tr> <tr> <td><strong>Age: </strong></td> <td>23</td> <td>programmer</td></tr><tr><td><strong>Email: </strong></td><td>adfg@gmail.com</td></tr></table></div><hr /></body></myhtml>";
SAXBuilder builder = new SAXBuilder();
Document doc = builder.build(new StringReader(xml));
listChildrenOrg(doc.getRootElement(), 0);
}
catch(Exception e){
e.printStackTrace();
}
}
private static void listChildrenOrg(Element root, int depth) {
System.out.println(root.getName());
List children = root.getChildren();
System.out.println(children.size());
Iterator iterator = children.iterator();
while (iterator.hasNext()) {
Element child = (Element) iterator.next();
System.out.println(child);
body.addContent(((Element)child.clone()).detach());
listChildrenOrg(child, depth+1);
}
}
}
выходной файл стирается один ..
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>First Try</title><meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">h1 { text-align: center; } div.centered {text-align: center;} div.centered table {margin: 0 auto; text-align: left;}
</style>
</head>
<body>
<h1 align="center">Body part</h1>
<hr />
</body>
<body> <h1 align="center">Profile</h1><hr />
<div class="centered">
<table><tr><td><strong>Name: </strong></td>
<td>A</td> </tr>
<tr> <td><strong>Age: </strong></td>
<td>23</td>
<td>programmer</td></tr>
<tr><td><strong>Email: </strong></td><td>adfg@gmail.com</td></tr></table></div>
<hr /></body><h1 align="center">Profile</h1><hr />
<div class="centered">
<table><tr><td><strong>Name: </strong></td>
<td>A</td> </tr>
<tr> <td><strong>Age: </strong></td>
<td>23</td>
<td>programmer</td></tr>
<tr><td><strong>Email: </strong></td>
<td>adfg@gmail.com</td></tr></table></div>
<table><tr><td><strong>Name: </strong></td>
<td>A</td> </tr>
<tr> <td><strong>Age: </strong></td>
<td>23</td>
<td>programmer</td></tr>
<tr><td><strong>Email: </strong></td>
<td>adfg@gmail.com</td></tr></table>
<tr><td><strong>Name: </strong></td>
<td>A</td> </tr>
<td><strong>Name: </strong></td>
<strong>Name: </strong>
<td>A</td>
<tr> <td><strong>Age: </strong></td>
<td>23</td>
<td>programmer</td></tr>
<td><strong>Age: </strong></td>
<strong>Age: </strong>
<td>23</td><td>programmer</td>
<tr><td><strong>Email: </strong></td><td>adfg@gmail.com</td></tr>
<td><strong>Email: </strong></td><strong>Email: </strong>
<td>adfg@gmail.com</td><hr />
</html>