我用的是C#中的两个类:XmlTextReader和XmlTextWriter 。
解决方案 »
- C#打开word出问题
- 开心助手是实现原理
- 怎么用OLEDB连接ACCESS
- 求自定义MessageBox控件代码!
- C#编写的DLL能被其他语言(C++..)编写的程序调用吗谢谢
- C#中如何将一个类的属性封装成XML文件并反封装
- [求助]WIN2K下进程性能计数器被禁用,如何得到系统的进程列表?
- 添加字段
- 如何在窗体失去焦点的情况下检测到用户我按下回车键
- 如果编写一个类,能够像Convert.ToInt32()那样通过类名直接引用其方法,而不需要通过实例引用方法?
- WinForm的Datagrid中,按下Del就会删除记录?如何阻止这个操作,比较先确认一下。
- 在c#中怎样实现两个应用程序之间通信?
XmlTextReader tr = new XmlTextReader("<element1> abc </element1>
<element2> qrt </element2>
<?pi asldfjsd ?>
<!-- comment -->", XmlNodeType.Element, null);
while(tr.Read())
Console.WriteLine("NodeType: {0} NodeName: {1}", tr.NodeType, tr.Name);
}
XMLTextWriter:
static void WriteQuote(XmlWriter writer, string symbol,
double price, double change, long volume)
{
writer.WriteStartElement("Stock");
writer.WriteAttributeString("Symbol", symbol);
writer.WriteElementString("Price", XmlConvert.ToString(price));
writer.WriteElementString("Change", XmlConvert.ToString(change));
writer.WriteElementString("Volume", XmlConvert.ToString(volume));
writer.WriteEndElement();
}public static void Main(){
XmlTextWriter writer = new XmlTextWriter(Console.Out);
writer.Formatting = Formatting.Indented;
WriteQuote(writer, "MSFT", 74.125, 5.89, 69020000);
writer.Close();
}
输出<Stock Symbol="MSFT">
<Price>74.125</Price>
<Change>5.89</Change>
<Volume>69020000</Volume>
</Stock>
XmlTextReader tr = new XmlTextReader(read);
FileStream fs = null;
System.Xml.Serialization.XmlSerializer readSerializer = new System.Xml.Serialization.XmlSerializer(typeof(GlobalParameters));
fs = new FileStream(@"g:\inetpub\wwwroot\webappzj4\XMLzj.xml", FileMode.Open);
GlobalParameters myClass = new GlobalParameters();
myClass = (GlobalParameters) readSerializer.Deserialize(fs);
this.TextBox3.Text = myClass.Items[0].ConnectStringForOledb.ToString();
GlobalParametersParameter con = new GlobalParametersParameter();
con.ConnectStringForOledb = "aa";
con.Bank_ConnectStringForOledb = "bb";
con.MaxBankNum = 50;
con.MaxBankNumSpecified = con.MaxCenterNumSpecified = con.MaxCompanyNumSpecified = con.MaxRightCodeForOneActorSpecified = con.MaxStationNumSpecified = true;
con.MaxCenterNum = 50;
con.MaxCompanyNum = 50;
con.MaxRightCodeForOneActor = 50;
con.MaxStationNum = 50;GlobalParametersParameter con1 = new GlobalParametersParameter();
con1.ConnectStringForOledb = "cc";
con1.Bank_ConnectStringForOledb = "bb";
con1.MaxBankNum = 50;
con1.MaxBankNumSpecified = con1.MaxCenterNumSpecified = con1.MaxCompanyNumSpecified = con1.MaxRightCodeForOneActorSpecified = con1.MaxStationNumSpecified = true;
con1.MaxCenterNum = 50;
con1.MaxCompanyNum = 50;
con1.MaxRightCodeForOneActor = 50;
con1.MaxStationNum = 50;
myClass.Items = new GlobalParametersParameter[2];
myClass.Items[0] = con;
myClass.Items[1] = con1;
myClass.Items[0].ConnectStringForOledb = con.ConnectStringForOledb ;
myClass.Items[0].Bank_ConnectStringForOledb = con.Bank_ConnectStringForOledb ;
myClass.Items[0].MaxBankNum = 1;
myClass.Items[0].MaxCenterNum = 3;
myClass.Items[0].MaxCompanyNum = 5;
readSerializer.Serialize(fs,myClass);
// XmlTextReader tr=new XmlTextReader("books.xml");
// while(tr.Read())
// {
// if(tr.NodeType==XmlNodeType.Text)
// listBox1.Items.Add(tr.Value);
// }
//----------------------------------------------------------------------
//读属性
FileStream fs=new FileStream("books.xml",FileMode.Open);
XmlTextReader tr=new XmlTextReader(fs);
while(tr.Read())
{
if(tr.MoveToContent()==XmlNodeType.Element)
{
for(int i=0;i<tr.AttributeCount;i++)
{
listBox1.Items.Add(tr.GetAttribute(i));
}
}
}
//读节点2----------------------------------------------------------------
private void button1_Click(object sender, System.EventArgs e)
{
FileStream fs=new FileStream("books.xml",FileMode.Open);
XmlTextReader tr=new XmlTextReader(fs);
while(!tr.EOF)
{
if(tr.MoveToContent()==XmlNodeType.Element&&tr.Name=="title")
{
//从元素中读取文本数据
//listBox1.Items.Add(tr.ReadElementString());//自动定位到下一个节点
LoadList(tr);//忽略异常
}
else
{
tr.Read();
}
}
}
private void LoadList(XmlReader reader)
{
try
{
listBox1.Items.Add(reader.ReadElementString());//自动定位到下一个节点
}
catch(XmlException er){}//ignore }
//----------------------------------------------------------------------
Dim doc As New XmlDocument()
Try
doc.Load(xmlFile)
Dim nod As XmlNode = doc.SelectSingleNode(key)
If Not nod Is Nothing Then
Dim rd As New XmlNodeReader(nod)
While rd.Read
If Trim(rd.Value) <> "" Then
Return d.Value End If
End While
End If
Catch
Throw
End Try
End Function
string args=m_textName.Text;
XmlTextWriter nameXmlTextWrite=new XmlTextWriter("listname.xml",null);
nameXmlTextWrite.Formatting = Formatting.Indented;
nameXmlTextWrite.WriteStartDocument(false);
nameXmlTextWrite.WriteDocType("listname",null,null,null);
nameXmlTextWrite.WriteComment("this file stord the name of listname");
nameXmlTextWrite.WriteStartElement("listname");
nameXmlTextWrite.WriteElementString("name",args);
nameXmlTextWrite.WriteEndElement();
nameXmlTextWrite.Flush();
nameXmlTextWrite.Close();