导航:首页 > 编程语言 > javaxml文件读写

javaxml文件读写

发布时间:2024-12-27 08:10:12

java读取配置文件的方法(xml)

用的是jdom包

URL url = RederXml.class.getClassLoader().getResource("");
String path = url.toString() + "/config.xml";\\工程种xml的路径
HashMap<String, String> map = new HashMap<String, String>();
SAXBuilder sax = new SAXBuilder();
Document doc = null;
try {
doc = sax.build(path);
} catch (JDOMException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
Element root = doc.getRootElement();

⑵ java读取xml文件,结果写入新建的txt中。

使用sax或dom的方式进行读取,然后通过流的形式保存到指定txt文本内。

⑶ JAVA读写XML,加下注释

public class w3c_Xml {
//得到dom的解析工厂

static DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();

static DocumentBuilder builder = null;

public static void readXML() {
try {
//得到真正的解析器
builder = factory .newDocumentBuilder();
//得到此xml文件的容器上下文或句柄或根节点
Document document = builder.parse(new File("E:\\Projects\\NyWeb\\NyWebBase\\version1.0\\Project\\fd\\WebRoot\\WEB-INF\\web.xml"));
//得到根节点
Element rootElement = document.getDocumentElement();
//在xml中把Header前面的空格也当成了一个节点,所以我们拿值时还要在拿NodeList
NodeList list = rootElement.getElementsByTagName("Header");
Element element = (Element) list.item(0);
//在java中他把<Header>也作为了一个节点,所以我们拿值时,拿他下面的第一个孩子节点,即getFirstChild然后在getNodeValue()才能拿到值
System.out.println(element.getChildNodes().item(0).getNodeValue());

} catch (Exception e) {
System.out.println("exception:" + e.getMessage());
}
}

public static void writeXML(Document document,String filename)
{
try {
builder = factory .newDocumentBuilder();
document.normalize();

/** 将document中的内容写入文件中 */
TransformerFactory tFactory = TransformerFactory.newInstance();
Transformer transformer = tFactory.newTransformer();
transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
//编码
DOMSource source = new DOMSource(document);
PrintWriter pw = new PrintWriter(new FileOutputStream(filename));
StreamResult result = new StreamResult(pw);
transformer.transform(source, result);
} catch (Exception e) {
e.printStackTrace();
}

}

public static void updateXML()
{
try {
builder = factory .newDocumentBuilder();
Document document = builder.parse(new File("E:\\Projects\\NyWeb\\NyWebBase\\version1.0\\Project\\fd\\WebRoot\\WEB-INF\\web.xml"));
Node root = document.getDocumentElement();
/**如果root有子元素*/
if(root.hasChildNodes())
{
NodeList ftpnodes = root.getChildNodes();
/**循环取得ftpnodes所有节点*/
for(int i=0;i<ftpnodes.getLength();i++)
{
Node ftpList = ftpnodes.item(i);
//System.out.println(ftpList.getTextContent());
}
for(int i=0;i<ftpnodes.getLength();i++)
{
Node ftpList = ftpnodes.item(i);
ftpList.setTextContent(ftpList.getTextContent()+" update");
}
}
writeXML(document,"E:\\Projects\\NyWeb\\NyWebBase\\version1.0\\Project\\fd\\WebRoot\\WEB-INF\\web.xml");

} catch (Exception e) {
e.printStackTrace();
}
}

public static void main(String[] args)
{
readXML();
updateXML();
}
}

⑷ java 如何读取一个2G的xml文件

在处理一个2G大小的XML文件时,我们面对的主要挑战是内存限制。在众多解析XML的方法中,如SAX、DOM、JDOM和DOM4J,DOM4J被认为效率最高且能够处理的XML文件也最大,不过其最大容量也不过几十兆而已。对于2G如此庞大的XML文件,内存显然是不足的。

面对如此庞大的文件,我们可以考虑将它存储到数据库中,这样既能解决内存问题,又能方便地进行查询和操作。当然,将整个2G的XML文件一次性加载到数据库中可能仍会面临性能瓶颈。因此,另一种可行的方法是将文件分割成多个较小的部分,分别存储和处理,这样既能保证内存的充足,也能提高处理效率。

无论是存储在数据库中还是分割存储,我们都需要考虑如何高效地读取和解析这些XML文件。对于数据库存储的方案,可以使用SQL语句进行查询和处理,而对于分割存储的方案,则需要编写相应的逻辑来逐个处理每个小文件。

综上所述,对于2G大小的XML文件,我们不能直接采用传统的内存解析方法,而是需要采取一些变通的策略。将文件存储在数据库中或是分割成多个小文件,都是可行的解决方案。这些方法不仅能够避免内存不足的问题,也能提高处理效率和灵活性。

值得注意的是,无论采用哪种方法,都需要根据实际情况进行权衡和选择。例如,如果数据库资源有限,可能需要考虑文件分割的方案。而如果处理逻辑较为复杂,可能需要更多地依赖于数据库的查询功能。

总之,处理大型XML文件时,我们需要灵活运用各种策略,以确保系统能够高效稳定地运行。无论是数据库存储还是文件分割,都需要仔细规划和实施,以达到最佳的处理效果。

⑸ java项目中有个xml文件,如何设置路径才可以在本机上的jar,局域网的别的电脑也能读写xml

本机作为服务端,别的电脑作为客户端,别的电脑要读写XML,就发请求到服务端上,再返回结果集过去

阅读全文

与javaxml文件读写相关的资料

热点内容
百度网盘隐藏文件没了 浏览:369
戴尔电脑官方网站网址是多少 浏览:230
infinitytask教程 浏览:759
股票用的网站有哪些 浏览:649
手机如何建立文件夹粘贴文字 浏览:90
怎样知道win10永久激活码 浏览:592
苹果手机怎么搜索网络打印机 浏览:602
学做菜用哪个app最容易看懂 浏览:452
jdg文件如何才能打印出来 浏览:364
netftp上传文件名中文 浏览:217
登录密码忘了怎么办 浏览:883
微软系统微信怎么升级吗 浏览:311
ps文件色彩只有黑白怎么调回彩色 浏览:251
iphone4s打开不了wifi 浏览:931
北大青鸟手报如何编程 浏览:671
传奇3路径文件在哪 浏览:330
有id锁的iphone6 浏览:448
返利程序下载 浏览:732
找写字楼有哪些app 浏览:333
没有添加到zip压缩文件的选项 浏览:680

友情链接