XML作为数据库载体(增删改)

wgh728 2009-02-01 09:44:45
下面是我在一公司面试时的题目.想了好长时间也无从下手,哪位能帮忙解决一下
7. 使用XML作为数据库载体,自行设计XML结构。使用.Net三层架构设计思想。写出对如下数据的读,写,修改
说明:节点1、节点2、节点3、节点4为根节点。节点5为节点1的第一个子节点,节点6为节点5的第一个子节点,节点七为节点5的第二个子节点,以此类推。
要求:
 新增节点时可根据选中的节点增加其子节点,也可新增根节点.
 修改时可修改节点名称,节点所属的父节点。
 删除节点
注意:删除节点时,如该节点有子节点,则需要将该节点的所有子节点的父节点改为被删除节点的父节点(如删除节点5,则节点6的ID改为0101,节点7的ID改为0103)
修改节点的父节点时,情况与删除节点相同

ID 名称
0001 节点1
0002 节点2
0003 节点3
0004 节点4
00010001 节点5
000100010001 节点6
000100010002 节点7
00010002 节点8
000100020001 节点9


...全文
171 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
java345 2009-02-02
  • 打赏
  • 举报
回复
比如我加载xml文档,exam.xml


XmlDocument document = new XmlDocument();
docuemnt.Load("exam.xml");
XmlElement root = document.DocumentElement;
//这边我用X来代替被选中的结点
//增加结点
X.AppendChild(document.CreateElement("XChild"));

//修改结点
X.Name = "自己设置了哇"
X.ParentNode.Name = "自己设置了哇"

//删除结点
if(X.ParentNode!=null) //判断X不能为根结点
{
if(X.HasChildNodes)
{
XmlNodeList nodelist = X.ChildNodes; //选择当前节点的所有子节点
for(int i=0;i<nodelist.count;i++)
{
X.ParentNode.AppendChild(nodelist[i]);
X.RemoveChild(nodelist[i]);
}
X.ParentNode.RemoveChild(X);
}
else
{
X.ParentNode.RemoveChild(X);
}
}

csgdseed 2009-02-02
  • 打赏
  • 举报
回复
很麻烦
ZJ159 2009-02-02
  • 打赏
  • 举报
回复
顶顶
wgh728 2009-02-02
  • 打赏
  • 举报
回复
最好能给个完整的例子,谢谢.
chagel 2009-02-01
  • 打赏
  • 举报
回复
还有这中面试题?考对xml操作有多熟练?
hubofly 2009-02-01
  • 打赏
  • 举报
回复
基础知识很重要,把问题拆解开来可能要好点 顶一下 ,搜索下,资料会比较多
king19840811 2009-02-01
  • 打赏
  • 举报
回复
变态的题
winner2050 2009-02-01
  • 打赏
  • 举报
回复
http://blog.163.com/ysli_195/blog/static/4205419420089733959975/

这里有现成的代码

62,269

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧