修改XML怎么在源XML中没有起作用那??
XML文件是:<?xml version="1.0" encoding="gbk"?>
<values>
<value>zh</value>
</values>java代码是这样的:package com.xaut.wangwuyi.tts.util;
import java.io.File;import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.Source;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import javax.xml.xpath.XPath;
import javax.xml.xpath.XPathConstants;
import javax.xml.xpath.XPathExpressionException;
import javax.xml.xpath.XPathFactory;import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.w3c.dom.Text;
public class ReadXmlResource
{
public String getI18Xml()
{
String values ="";
try
{
File f = new File("resource.xml");
//InputStream is = getClass().getClassLoader().getResourceAsStream("message_"+i18+".properties");
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse(f);
NodeList nl = doc.getElementsByTagName("values");
for (int i = 0; i < nl.getLength(); i++)
{
values = doc.getElementsByTagName("value").item(i).getFirstChild().getNodeValue();
}
}
catch (Exception e)
{
e.printStackTrace();
}
return values;
}
/**
* 这种方式源文件没改动
* @param language
*/
public void setI18Xml2(String language)
{
try
{
File f = new File("resource.xml");
//InputStream is = getClass().getClassLoader().getResourceAsStream("message_"+i18+".properties");
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse(f);
NodeList nl = doc.getElementsByTagName("values");
for (int i = 0; i < nl.getLength(); i++)
{
doc.getElementsByTagName("value").item(i).getFirstChild().setNodeValue(language);
}
}
catch (Exception e)
{
e.printStackTrace();
}
}
/**
* 这种方式源文件没改动
* @param language
*/
public void setI18NXml(String language)
{
try
{
File f = new File("resource.xml");
//InputStream is = getClass().getClassLoader().getResourceAsStream("message_"+i18+".properties");
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse(f);
Element root = doc.getDocumentElement();
Element theBook=(Element) selectSingleNode("/values", root);
theBook.getElementsByTagName("value").item(0).setTextContent(language);
}
catch (Exception e)
{
e.printStackTrace();
}
}
public static Node selectSingleNode(String express, Object source){//查找节点,并返回第一个符合条件节点
Node result=null;
XPathFactory xpathFactory=XPathFactory.newInstance();
XPath xpath=xpathFactory.newXPath();
try {
result=(Node) xpath.evaluate(express, source, XPathConstants.NODE);
} catch (XPathExpressionException e) {
e.printStackTrace();
}
return result;
}
public static void main(String arge[]) throws Exception
{ ReadXmlResource g = new ReadXmlResource();
System.out.println(123);
g.setI18NXml("en");
System.out.println("dsfa " + g.getI18Xml());
}
}XMLJava
XML文件是:<?xml version="1.0" encoding="gbk"?>
<values>
<value>zh</value>
</values>java代码是这样的:package com.xaut.wangwuyi.tts.util;
import java.io.File;import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.Source;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import javax.xml.xpath.XPath;
import javax.xml.xpath.XPathConstants;
import javax.xml.xpath.XPathExpressionException;
import javax.xml.xpath.XPathFactory;import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.w3c.dom.Text;
public class ReadXmlResource
{
public String getI18Xml()
{
String values ="";
try
{
File f = new File("resource.xml");
//InputStream is = getClass().getClassLoader().getResourceAsStream("message_"+i18+".properties");
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse(f);
NodeList nl = doc.getElementsByTagName("values");
for (int i = 0; i < nl.getLength(); i++)
{
values = doc.getElementsByTagName("value").item(i).getFirstChild().getNodeValue();
}
}
catch (Exception e)
{
e.printStackTrace();
}
return values;
}
/**
* 这种方式源文件没改动
* @param language
*/
public void setI18Xml2(String language)
{
try
{
File f = new File("resource.xml");
//InputStream is = getClass().getClassLoader().getResourceAsStream("message_"+i18+".properties");
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse(f);
NodeList nl = doc.getElementsByTagName("values");
for (int i = 0; i < nl.getLength(); i++)
{
doc.getElementsByTagName("value").item(i).getFirstChild().setNodeValue(language);
}
}
catch (Exception e)
{
e.printStackTrace();
}
}
/**
* 这种方式源文件没改动
* @param language
*/
public void setI18NXml(String language)
{
try
{
File f = new File("resource.xml");
//InputStream is = getClass().getClassLoader().getResourceAsStream("message_"+i18+".properties");
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse(f);
Element root = doc.getDocumentElement();
Element theBook=(Element) selectSingleNode("/values", root);
theBook.getElementsByTagName("value").item(0).setTextContent(language);
}
catch (Exception e)
{
e.printStackTrace();
}
}
public static Node selectSingleNode(String express, Object source){//查找节点,并返回第一个符合条件节点
Node result=null;
XPathFactory xpathFactory=XPathFactory.newInstance();
XPath xpath=xpathFactory.newXPath();
try {
result=(Node) xpath.evaluate(express, source, XPathConstants.NODE);
} catch (XPathExpressionException e) {
e.printStackTrace();
}
return result;
}
public static void main(String arge[]) throws Exception
{ ReadXmlResource g = new ReadXmlResource();
System.out.println(123);
g.setI18NXml("en");
System.out.println("dsfa " + g.getI18Xml());
}
}XMLJava
解决方案 »
- 初学者的一个简单问题
- 其实我挺无奈的,大家帮帮忙...
- 100分求 关于Spring注解管理MappingDispatchaction的管理方式??
- 有个问题,是用JAVA实现自定义报表的!
- 我的代码中有String libDirString = System.getProperty("wildfire.lib.dir");,wildfire.lib.dir的值,我怎么找到,谢谢
- j2ee和web开发有什么本质的区别
- jquery中json如何用?
- 在tomcat配置的链接池,居然报dbcp.SQLNestedException: Cannot get a connection, pool exhausted错误,请指教!!!
- 得到jsp所在的路径问题???
- 如何把从数据库里SELECT出来的数据显示在事先已经存在的FORM里,谢谢!
- 新手弱问题,jsp 连接sqlserver2008 语句databaseName="***"有错误是怎么回事?
- UTF-8转码的问题
Transformer transformer=TransformerFactory.newInstance().newTransformer();
DOMSource source=new DOMSource(doc);
FileOutputStream outstream =new FileOutputStream(new File("1.xml"));
StreamResult reslut=new StreamResult(outstream);
transformer.transform(source, reslut);
outstream.close();