我要写一个xml文件,第一次做,请帮忙一下啦
<?xml version="1.0" encoding="utf-8"?>
<tmsinterface tasktype="GetInfo" version="1.0">
<result>
<code></code>
<description></description>
<datatypecount>1</datatypecount>
</result>
<data datatype="Vehi" quantity="">
<batch>
<!-- 当前批次号 -->
<batchno></batchno>
<!-- 共有多少批次 -->
<totalbatch></totalbatch>
<!-- 共有多少数据 -->
<totalqty></totalqty>
</batch>
</data>
</tmsinterface>
<?xml version="1.0" encoding="utf-8"?>
<tmsinterface tasktype="GetInfo" version="1.0">
<result>
<code></code>
<description></description>
<datatypecount>1</datatypecount>
</result>
<data datatype="Vehi" quantity="">
<batch>
<!-- 当前批次号 -->
<batchno></batchno>
<!-- 共有多少批次 -->
<totalbatch></totalbatch>
<!-- 共有多少数据 -->
<totalqty></totalqty>
</batch>
</data>
</tmsinterface>
解决方案 »
- 关于radioButton1_CheckedChanged(radioButton1, null)
- 请教哥哥姐姐一个关于SQL检索速度慢的问题
- 多线程 界面卡死
- WcF高手请进.问题是,我客户端调用是当 xel_Order (xml格式) 数据在1000行可以稳定运行而且非常快(有10秒吧),当xel_Order 大于3000行的时候客户端就死机了(客户机cpu和内存都空闲着)这个是怎么回事啊,我把config文件
- 关于MessageBox
- 抉择面前,我该怎么选择(希望管理员不要删除)
- 存储过程问题
- 我在将byte[]转成string ,再转成byte[]后,两个byte[]怎么不一样长 怎么解决啊
- 绝对的想散分..还有不到8000分.lycoo..散分接龙001
- 紧急求助!!!!!!!!!!!!!
- 求教 钩子 API实例
- .net的excel.WorksheetFunction.Sum()方法怎么用
/// 将数据写入xml文件
/// </summary>
/// <param name="name"> 用户名</param>
/// <param name="status">状态</param>
/// <param name="content">评论内容</param>
/// <param name="createtime">发布时间</param>
protected void WriteXml(string name, string status, string content)
{ // 将虚拟路径转换成物理路径
string xmlPath = Server.MapPath("指定xml文件在Web服务器上的虚拟路径");
// 映射指定物理路径的xml文件
System.IO.FileInfo fileInfo = new System.IO.FileInfo(xmlPath);
// 创建表示xml文档的对象实例
XmlDocument xmlDoc = new XmlDocument();
// 创建表示根节点的对象实例
XmlNode root = null;
if (!fileInfo.Exists)
{
// 如果指定路径的xml文件不存在,则创建该文件
// 创建文件的声明节点,例如:<? xml version = '1.0'?>
XmlNode xmlNode = xmlDoc.CreateNode(XmlNodeType.XmlDeclaration, "", "");
xmlDoc.AppendChild(xmlNode);
root = xmlDoc.createElement_x("", "Message", "");
xmlDoc.AppendChild(root);
}
else
{
// 如果指定路径的xml文件存在,则加载该文件
xmlDoc.Load(xmlPath);
// 获取文档的根元素(节点)
root = xmlDoc.DocumentElement;
}
// 创建新的名字为Item的节点,存放一条评论的相关数据
XmlElement item = xmlDoc.createElement_x("Item");
// 创建新的名字为ID的节点,存放一条评论的ID
XmlElement id = xmlDoc.createElement_x("ID");
Random ran = new Random();
ran.Next(10);
// 设置ID节点的内容,并添加到Item节点下
id.InnerText = Guid.NewGuid().ToString();
item.AppendChild(id);
// 创建新的名字为Name的节点,存放发表评论的用户名
XmlElement nameNode = xmlDoc.createElement_x("Name");
nameNode.InnerText = name;
item.AppendChild(nameNode);
// 创建新的名字为status的节点,存放当前评论的状态(审核:1,未审核:0...)
XmlElement statusNode = xmlDoc.createElement_x("Status");
statusNode.InnerText = "0";
item.AppendChild(statusNode);
// 创建新的名为Content的节点
XmlElement contentNode = xmlDoc.createElement_x("Content");
contentNode.InnerText = content;
item.AppendChild(contentNode);
// 创建新的名为CreateTime的节点
XmlElement createTimeNode = xmlDoc.createElement_x("CreateTime");
createTimeNode.InnerText = System.DateTime.Now.ToString();
item.AppendChild(createTimeNode);
if (root.ChildNodes.Count > 0)
{
// 将新Item节点加入到根节点中,并成为第一个节点,以保证:最新提交的评论在最前面.
root.InsertBefore(item, root.ChildNodes[0]);
}
else
{
// 如果目前暂无评论,当前提交的是第一条评论
root.AppendChild(item);
}
xmlDoc.Save(xmlPath);
}
参考
像这样的一个节点,两个属性的怎么写?
XmlAttribute tasktype= doc.CreateAttribute("tasktype");
tasktype.InnerText = "GetInfo";
tmsinterface.Attributes.Append(tasktype);
XmlAttribute tasktype= doc.CreateAttribute("tasktype");
tasktype.InnerText = "GetInfo";
tmsinterface.Attributes.Append(tasktype);
XmlAttribute version= doc.CreateAttribute("version");
version.InnerText = "1.0";
tmsinterface.Attributes.Append(version);
private void Form1_Load(object sender, EventArgs e)
{
try
{
xmlDoc.LoadXml("<?xml version='1.0' encoding='utf-8' ?>" + "<tmsinterface></tmsinterface>"); XmlElement root = xmlDoc.DocumentElement;//根元素
AddAttribute(root, "tasktype", "GetInfo");
AddAttribute(root, "version", "1.0"); XmlNode subNode = AddSubNode(root, XmlNodeType.Element, "result", "", false);
AddSubNode(subNode, XmlNodeType.Element, "code", "", true);
AddSubNode(subNode, XmlNodeType.Element, "description", "", true);
AddSubNode(subNode, XmlNodeType.Element, "datatypecount", "1", true);
subNode = AddSubNode(root, XmlNodeType.Element, "data", "", false);
AddAttribute(subNode, "datatype", "Vehi");
AddAttribute(subNode, "quantity", ""); subNode = AddSubNode(subNode, XmlNodeType.Element, "batch", "", false);
AddComment(subNode, "当前批次号");
AddSubNode(subNode, XmlNodeType.Element, "batchno", "", true);
AddComment(subNode, "共有多少批次");
AddSubNode(subNode, XmlNodeType.Element, "totalbatch", "", true);
AddComment(subNode, "共有多少数据");
AddSubNode(subNode, XmlNodeType.Element, "totalqty", "", true); xmlDoc.Save(@"c:\test.xml");
}
catch(Exception ex)
{ } }
private XmlAttribute AddAttribute(XmlNode parent, string name, string value)
{
XmlAttribute attr = xmlDoc.CreateAttribute(name);
attr.Value = value;
parent.Attributes.Append(attr); return attr; }
private XmlNode AddSubNode(XmlNode parent, XmlNodeType type, string name, string value, bool bEndNode)
{
XmlNode node = xmlDoc.CreateNode(type, name,""); if(bEndNode) //末端节点
{
node.InnerText = value;
} parent.AppendChild(node);
return node;
}
private XmlComment AddComment(XmlNode parent, string value)
{
XmlComment comment = xmlDoc.CreateComment(value);
parent.AppendChild(comment); return comment; }