使用java或C#或JSP或ASP等完成对xml文件的增删改操作
5个回答
展开全部
实现思路:就是将需要保留的内容写入另外一个xml文件中在满足条件处进行增加、删除、修改操作。
可以通过BufferedReader 流的形式进行流缓存,之后通过readLine方法获取到缓存的内容。
BufferedReader bre = null;
OutputStreamWriter pw = null;//定义一个流
try {
String file = "D:/test/test.xml";
bre = new BufferedReader(new FileReader(file));//此时获取到的bre就是整个文件的缓存流
pw = new OutputStreamWriter(new FileOutputStream(“D:/New.xml”),"GBK");//确认流的输出文件和编码格式,此过程创建了“test.txt”实例
while ((str = bre.readLine())!= null) // 判断最后一行不存在,为空结束循环
{
if(!str.indexOf("<end>")){//判断如果不满足xml的条件就删除
pw.write(str);//将要写入文件的内容,可以多次write
}
};
bre.close();
pw.close();//关闭流
备注:文件流用完之后必须及时通过close方法关闭,否则会一直处于打开状态,直至程序停止,增加系统负担。
可以通过BufferedReader 流的形式进行流缓存,之后通过readLine方法获取到缓存的内容。
BufferedReader bre = null;
OutputStreamWriter pw = null;//定义一个流
try {
String file = "D:/test/test.xml";
bre = new BufferedReader(new FileReader(file));//此时获取到的bre就是整个文件的缓存流
pw = new OutputStreamWriter(new FileOutputStream(“D:/New.xml”),"GBK");//确认流的输出文件和编码格式,此过程创建了“test.txt”实例
while ((str = bre.readLine())!= null) // 判断最后一行不存在,为空结束循环
{
if(!str.indexOf("<end>")){//判断如果不满足xml的条件就删除
pw.write(str);//将要写入文件的内容,可以多次write
}
};
bre.close();
pw.close();//关闭流
备注:文件流用完之后必须及时通过close方法关闭,否则会一直处于打开状态,直至程序停止,增加系统负担。
展开全部
var filePath = "D:My.xml";
XDocument doc = XDocument.Load(filePath);//打开文档
//新增节点
XElement node = new XElement("firsrNode");
node.SetValue("1");//设置节点值
doc.Add(node);//插入节点
doc.Save(filePath);//保存文档
//====修改
var modifyNode = doc.Elements("firstNode").First();//查找第一个名字为firstNode的节点
modifyNode.SetValue("2");
doc.Save(filePath);
//===删除
doc.Elements("firstNode").First().Remove();//删除第一个名字为firstNode的节点
//===查找
var findNode = doc.Elements().Where(n => n.Name.Equals("firstNode")).First();
采用Linq To XML操作
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
C#的
namespace EditXMLByLINQ
{
public partial class Frm_Main : Form
{
public Frm_Main()
{
InitializeComponent();
}
static string strPath = "Employee.xml";//记录XML文件路径
static string strID = "";//记录选中的ID编号
//窗体加载时加载XML文件
private void Form1_Load(object sender, EventArgs e)
{
if (File.Exists(strPath))
{
getXmlInfo();
}
}
//修改XML元素
private void button3_Click(object sender, EventArgs e)
{
if (strID != "")//判断是否选择了编号
{
XElement xe = XElement.Load(strPath);//加载XML文档
IEnumerable<XElement> elements = from element in xe.Elements("People")//根据编号查找信息
where element.Attribute("ID").Value == strID
select element;
if (elements.Count() > 0)//判断是否找到了信息
{
XElement newXE = elements.First();//获取找到的第一条记录
newXE.SetAttributeValue("ID", strID);//为XML元素设置属性值
newXE.ReplaceNodes(//替换XML元素中的值
new XElement("Name", textBox11.Text),
new XElement("Sex", comboBox1.Text),
new XElement("Salary", textBox12.Text)
);
}
xe.Save(strPath);//保存XML元素到XML文件
}
MessageBox.Show("修改成功");
getXmlInfo();
}
//显示选中XML节点的详细信息
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
strID = dataGridView1.Rows[e.RowIndex].Cells[3].Value.ToString();//记录选中的ID编号
XElement xe = XElement.Load(strPath);//加载XML文档
IEnumerable<XElement> elements = from PInfo in xe.Elements("People")//根据编号查找信息
where PInfo.Attribute("ID").Value == strID
select PInfo;
foreach (XElement element in elements)//遍历查找到的所有信息
{
textBox11.Text = element.Element("Name").Value;//显示员工姓名
comboBox1.SelectedItem = element.Element("Sex").Value;//显示员工性别
textBox12.Text = element.Element("Salary").Value;//显示员工薪水
}
}
namespace EditXMLByLINQ
{
public partial class Frm_Main : Form
{
public Frm_Main()
{
InitializeComponent();
}
static string strPath = "Employee.xml";//记录XML文件路径
static string strID = "";//记录选中的ID编号
//窗体加载时加载XML文件
private void Form1_Load(object sender, EventArgs e)
{
if (File.Exists(strPath))
{
getXmlInfo();
}
}
//修改XML元素
private void button3_Click(object sender, EventArgs e)
{
if (strID != "")//判断是否选择了编号
{
XElement xe = XElement.Load(strPath);//加载XML文档
IEnumerable<XElement> elements = from element in xe.Elements("People")//根据编号查找信息
where element.Attribute("ID").Value == strID
select element;
if (elements.Count() > 0)//判断是否找到了信息
{
XElement newXE = elements.First();//获取找到的第一条记录
newXE.SetAttributeValue("ID", strID);//为XML元素设置属性值
newXE.ReplaceNodes(//替换XML元素中的值
new XElement("Name", textBox11.Text),
new XElement("Sex", comboBox1.Text),
new XElement("Salary", textBox12.Text)
);
}
xe.Save(strPath);//保存XML元素到XML文件
}
MessageBox.Show("修改成功");
getXmlInfo();
}
//显示选中XML节点的详细信息
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
strID = dataGridView1.Rows[e.RowIndex].Cells[3].Value.ToString();//记录选中的ID编号
XElement xe = XElement.Load(strPath);//加载XML文档
IEnumerable<XElement> elements = from PInfo in xe.Elements("People")//根据编号查找信息
where PInfo.Attribute("ID").Value == strID
select PInfo;
foreach (XElement element in elements)//遍历查找到的所有信息
{
textBox11.Text = element.Element("Name").Value;//显示员工姓名
comboBox1.SelectedItem = element.Element("Sex").Value;//显示员工性别
textBox12.Text = element.Element("Salary").Value;//显示员工薪水
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-12-23
展开全部
你可以详细点吗
追问
1.实验目的
目的:使用java或C#或JSP或ASP等完成对xml文件的增删改操作。
2.实验环境
XML SPY和相关的环境
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
网上搜一下,java操作xml
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询