package test;
import java.io.IOException;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
import org.w3c.dom.Text;
import org.xml.sax.SAXException;
public
class
XmlOprate {
Document doc;
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder;
NodeList imags;
String path;
public
NodeList getImags() {
return
imags;
}
public
void setImags(NodeList imags) {
this.imags = imags;
}
public
XmlOprate(String path) {
super();
this.path = path;
System.out.println(System.getProperty(
"user.dir"
));
}
public
void readXml(){
try
{
builder = factory.newDocumentBuilder();
Document doc=builder.parse(path);
doc.normalize();
NodeList imags =doc.getElementsByTagName(
"imags"
);
this.setImags(imags);
for
(int i=0;i<imags.getLength();i++){
Element link=(Element) imags.item(i);
System.out.
print
(
"title: "
);
System.out.println(link.getElementsByTagName(
"title"
).item(0).getFirstChild().getNodeValue());
System.out.
print
(
"URL: "
);
System.out.println(link.getElementsByTagName(
"url"
).item(0).getFirstChild().getNodeValue());
System.out.
print
(
"imgsrc: "
);
System.out.println(link.getElementsByTagName(
"imgsrc"
).item(0).getFirstChild().getNodeValue());
System.out.println();
}
}
catch
(ParserConfigurationException e) {
e.printStackTrace();
}
catch
(SAXException e) {
e.printStackTrace();
}
catch
(IOException e) {
e.printStackTrace();
}
}
public
void addXmlCode(String imgsrc,String title,String url){
try
{
builder = factory.newDocumentBuilder();
Document doc=builder.parse(path);
doc.normalize();
Text textseg;
Element imag=doc.createElement(
"imags"
);
Element linkimgsrc=doc.createElement(
"imgsrc"
);
textseg=doc.createTextNode(imgsrc);
linkimgsrc.appendChild(textseg);
imag.appendChild(linkimgsrc);
Element linktitle=doc.createElement(
"title"
);
textseg=doc.createTextNode(title);
linktitle.appendChild(textseg);
imag.appendChild(linktitle);
Element linkurl=doc.createElement(
"url"
);
textseg=doc.createTextNode(url);
linkurl.appendChild(textseg);
imag.appendChild(linkurl);
doc.getDocumentElement().appendChild(imag);
TransformerFactory tFactory =TransformerFactory.newInstance();
Transformer transformer;
transformer = tFactory.newTransformer();
DOMSource source =
new
DOMSource(doc);
StreamResult result =
new
StreamResult(
new
java.io.File(path));
transformer.transform(source, result);
}
catch
(Exception e){
}
}
public
void delXmlCode(){
try
{
builder = factory.newDocumentBuilder();
doc=builder.parse(path);
doc.normalize();
NodeList imags =doc.getElementsByTagName(
"imags"
);
Element elink=(Element) imags.item(0);
elink.removeChild(elink.getElementsByTagName(
"imgsrc"
).item(0));
elink.removeChild(elink.getElementsByTagName(
"title"
).item(0));
elink.removeChild(elink.getElementsByTagName(
"url"
).item(0));
doc.getFirstChild().removeChild(elink);
TransformerFactory tFactory =TransformerFactory.newInstance();
Transformer transformer = tFactory.newTransformer();
DOMSource source =
new
DOMSource(doc);
StreamResult result =
new
StreamResult(
new
java.io.File(path));
transformer.transform(source, result);
}
catch
(ParserConfigurationException e) {
e.printStackTrace();
}
catch
(SAXException e) {
e.printStackTrace();
}
catch
(IOException e) {
e.printStackTrace();
}
catch
(TransformerConfigurationException e) {
e.printStackTrace();
}
catch
(TransformerException e) {
e.printStackTrace();
}
}
}