使用java或C#或JSP或ASP等完成对xml文件的增删改操作

 我来答
198901245631
推荐于2016-10-20 · TA获得超过3.5万个赞
知道大有可为答主
回答量:9037
采纳率:92%
帮助的人:1662万
展开全部
实现思路:就是将需要保留的内容写入另外一个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方法关闭,否则会一直处于打开状态,直至程序停止,增加系统负担。
钢蛋Gondar
2013-12-23 · TA获得超过286个赞
知道小有建树答主
回答量:360
采纳率:100%
帮助的人:312万
展开全部
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操作

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
owant
2013-12-23
知道答主
回答量:30
采纳率:0%
帮助的人:5.5万
展开全部
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;//显示员工薪水
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-12-23
展开全部
你可以详细点吗
追问
1.实验目的
目的:使用java或C#或JSP或ASP等完成对xml文件的增删改操作。
2.实验环境
XML SPY和相关的环境
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dzb1121
2013-12-23 · 超过12用户采纳过TA的回答
知道答主
回答量:66
采纳率:0%
帮助的人:37.1万
展开全部
网上搜一下,java操作xml
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式