蔡鸟关于写入、读取xml的问题
怎么将提交的数据写入到*.xml文件中去,又怎么读取出来? 问题点数:100、回复次数:12Top
1 楼eshao(MrXie)回复于 2003-01-08 11:32:24 得分 26
你的问题太模糊了。
1。我不知道你提交的数据 是否已经是正确的xml格式
2.如果已经是正确格式,有个save的方法你看看。Top
2 楼snowring(飘飘然)回复于 2003-01-08 11:34:29 得分 1
直接看msxml4.0的帮助,上面都有Top
3 楼badcody(升龙就是硬道理)回复于 2003-01-08 11:34:44 得分 0
比如这样:
<form id=id runat=server>
<asp:textbox id="TextBox1" runat="server"/>
<asp:button id="Button1" runat="server"/>
</form>
我想提交以后,将textbox1里面的文本报存在xml里面。Top
4 楼eshao(MrXie)回复于 2003-01-08 11:44:50 得分 0
存入文件用save, 存入数据库就当字符串处理
从文件读取出来用load或loadurl(链接),从数据库读出来就当字符串处理。
组合成什么样的xml取决于你
<root>
<text id="TextBox1" value="" />
<button id="Button1" value="" />
</root>
我建议你看看wrox的xml教程
或two tigers 出的xml基础教程(这个很不错)
Top
5 楼badcody(升龙就是硬道理)回复于 2003-01-08 11:45:12 得分 0
msxml4.0?????
我该怎么获得?Top
6 楼alexlimingjun(风继续吹)回复于 2003-01-08 11:45:37 得分 24
写入:
String xmlfile = "<?xml version=\"1.0\" encoding=\"gb2312\"?>";
xmlfile += "<Records>";
xmlfile += "<Record>";
xmlfile += "<Name>aaa</Name>"
xmlfile += "<Age>23</Age>"
xmlfile += "</Record>";
xmlfile += "<Record>";
xmlfile += "<Name>bbb</Name>"
xmlfile += "<Age>26</Age>"
xmlfile += "</Record>";
xmlfile += "</Records>";
try
{
//create xmldocument object
XmlDocument xmldoc = new XmlDataDocument();
xmldoc.LoadXml(xmlfile);
//save xmldocument to file
string filepath = "c:\\temp\myxml.xml";
xmldoc.Save(filepath);
}
catch(Exception ee)
{
Response.Write("错误: " + ee.Message + "<br>");
}
读取:
XmlDocument xmldoc = new XmlDocument();
string filepath = "c:\\temp\myxml.xml";
xmldoc.Load(filepath);
//Create an XmlNodeReader to read the XmlDocument.
XmlNodeReader reader = new XmlNodeReader(xmldoc);
while(reader.Read())
{
switch(reader.NodeType)
{
case XmlNodeType.Element:
readername = (reader.Name).ToString();
break;
case XmlNodeType.Text:
if(readername=="Name")
name = reader.Value;
else
age = reader.Value;
break;
}
}
if(reader!=null)
reader.Close();
大概就是这个样子,具体还请看MSDNTop
7 楼eshao(MrXie)回复于 2003-01-08 11:45:38 得分 0
msxml4.0的帮助在msdn上有下载Top
8 楼eshao(MrXie)回复于 2003-01-08 12:53:51 得分 0
xml3.0 的下载,看看这个也可以
http://msdn.microsoft.com/downloads/default.asp?url=/downloads/sample.asp?url=/msdn-files/027/000/542/msdncompositedoc.xmlTop
9 楼qieyj(温馨港湾)回复于 2003-01-08 13:08:33 得分 24
下面是读的范例,写也是类似的
XmlTextReader myReader = new XmlTextReader("E:\\project\\Web_XML\\XMLFile_1.xml");
while (myReader.Read())
{
if(myReader.Name == "name")
{
myReader.Read();
if (name == "")
{
name = name + myReader.Value.Trim();
}
else
{
name = name + "," + myReader.Value.Trim();
}
}
}
TextBox2.Text = name.Trim();
myReader.Close();
Top
10 楼ZHANG9652(剑神独孤求败)回复于 2003-01-08 13:22:37 得分 1
msdn上有Top
11 楼hbzxf(阿好)回复于 2003-01-08 13:44:11 得分 24
<script runat="server" language="C#">
void Page_Load(object sender, System.EventArgs e)
{
string xmlFile = Server.MapPath("DvdList.xml");
// load the XML file in a XmlDocument
XmlDocument doc = new XmlDocument();
doc.Load(xmlFile);
// write the description text
XmlText.Text = GetChildNodesDescr(doc.ChildNodes, 0);
}
string GetChildNodesDescr(XmlNodeList nodeList, int level)
{
string indent = "";
for (int i=0; i<level; i++)
indent += " ";
StringBuilder str = new StringBuilder("");
foreach (XmlNode node in nodeList)
{
switch(node.NodeType)
{
case XmlNodeType.XmlDeclaration:
str.Append("XML Declaration: <b>");
str.Append(node.Name);
str.Append(" ");
str.Append(node.Value);
str.Append("</b><br>");
break;
case XmlNodeType.Element:
str.Append(indent);
str.Append("Element: <b>");
str.Append(node.Name);
str.Append("</b><br>");
break;
case XmlNodeType.Text:
str.Append(indent);
str.Append(" - Value: <b>");
str.Append(node.Value);
str.Append("</b><br>");
break;
case XmlNodeType.Comment:
str.Append(indent);
str.Append("Comment: <b>");
str.Append(node.Value);
str.Append("</b><br>");
break;
}
if (node.Attributes != null)
{
foreach (XmlAttribute attrib in node.Attributes)
{
str.Append(indent);
str.Append(" - Attribute: <b>");
str.Append(attrib.Name);
str.Append("</b> Value: <b>");
str.Append(attrib.Value);
str.Append("</b><br>");
}
}
if (node.HasChildNodes)
str.Append(GetChildNodesDescr(node.ChildNodes, level+1));
}
return str.ToString();
}
</script>Top
12 楼badcody(升龙就是硬道理)回复于 2003-01-08 14:39:14 得分 0
等我核对一下回复再给分。Top




