J**a中如何读取xml文件?

时间:2013.08.15 发布人:rhpxemsz

J**a中如何读取xml文件?

已解决问题

谷歌rhpxemsz用户在2013.08.15提交了关于“一拳超人J**a中如何读取xml文件?”的提问,欢迎大家涌跃发表自己的观点。目前共有1个回答,最后更新于2024-08-17T11:28:43。希望大家能够帮助她。

详细问题描述及疑问:期待您的答案,不知道说什么,送你一朵小红花吧 !

希望以下的回答,能够帮助你。

第1个回答

用户名:a16a16chp  

xml:

<?xmlversion="1.0"encoding="UTF-8"?>

<users>

<Messages>
<sendName>sendUsers</sendName>
<receiveName>sn**e</receiveName>
<date>2007-12-0412:20:00</date>
<status>0</status>
<mess来自age>thisisContent</message>
</Messages>

</users>

j**a:

packagecom.lianxi业于织菜认号牛议.DAO;
importj**a.io.File;

importj**或创扬兴合车脚杀害ax.xml.parsers.DocumentBuilder;
importj**ax.xml.parsers.DocumentBuilderFactory;
importj**ax.xml.transform.Transformer;
importja问答vax.xml.transform.TransformerFactory;
importj**ax.xml.transform.dom.DOMSource;
importj**ax.xml.transform.stream.StreamResult;

impo为张阻轻rtorg.w3c.dom.Document;
importorg.w3c.dom.Node;
importorg.w3c.dom.NodeList;
publicc又总开草固假耐延lassUpdateXml{
p显款我坏告米ublicstaticbooleandoc2XmlFile(Doc铁umentdocumen意t,Stringfilename)
{
booleanfla支阿扩士g=true;
try
{
/**将document中的内容写入文件中*/
TransformerFactorytFactory=TransformerFactory.newInstance();
Tra顶班nsformertransformer=tFactory.newTransformer();
/**编码*/
//transformer.s路往才坚etOutputProperty(Ou此益岩报导娘tputKeys.ENCODING,"GB2312");
DOMSourcesource=newDOMSource(document);
StreamResultresult=newStreamResult(newFile(filename));
transforme居革稳蛋脚口高执钟水坐r.transform(sou系计并态过较径卫手抓合rce,result);
}catch(Exceptionex)
{
flag=false;
ex.printStackTrace();
}
青returnflag;
}

publicstaticDocumentload(Stringfilename)
{
Documentdocument=**ll;
t运介征个附毫ry
{
DocumentBuilderFactoryfactory=DocumentBuilderFactory.newInstance();
DocumentBuild如粉决房同开江erbuilder=factory.newDocumentBuilder();
document=builder.parse(newFile(f间认如载民测轮吸征减ilename));
document.normalize();
}
catch(Exceptionex){
ex.printStackTrace();
}
returndocument;
}
/**
*演示修改文件的具体某个节点的值
*/
publicstaticvoidxmlUpdateDemo()
{
Documentdocument=load("c://Message.xml");
Noderoot=document.getDocumentElement();
/**如果root有子元素*/
if(root.hasChildNodes())
{
/**ftpnodes*/
NodeListftpnodes=root.getChildNodes();
/**循环取得ftp所有节点*/
for(inti=0;i<ftpnodes.getLength();i++)
{
NodeListftplist=ftpnodes.item(i).getChildNodes();
for(intk=0;k<ftplist.getLength();k++)
{
Nodesubnode=ftplist.item(k);
/**删除ftp-chn节点*/
//if(subnode.getNodeType()==Node.ELEMENT_NODE&&subnode.getNodeName()=="ftp-chn")
//{
//ftpnodes.item(i).removeChild(subnode);
//}
/**修改ftp-host的值为192.168.0.1*/
if(subnode.getNodeType()==Node.ELEMENT_NODE&&subnode.getNodeName()=="status")
{
subnode.getFirstChild().setNodeValue("1");
}
}

}
}

doc2XmlFile(document,"c://Message.xml");
}
publicstaticvoidmain(Stringargs[])throwsException
{
UpdateXml.xmlUpdateDemo();
}
}