C#如何变换XML标记?例如:<Dollar>4000.00</Dollar><Euro>2000.00</Euro><Yen>60,000.00</Yen>
变成下面这样,而且是一行一个:

Dollar: 4000.00
Euro: 2000.00
Yen: 60,000.00
就是用正则表达式替换掉原来的标记内容。但是,请问具体如何写出正确的正则表达式?private void Button1_Click(object sender,EventArgs e)
{
String s1=@"第一个正则表达式",s2=@"第二个正则表达式";
this.TextBox2.Text=Regex.Replace(this.TextBox1.Text,s1,s2);
}

解决方案 »

  1.   

    为什么要用正则呢,直接解析xml不是更好?
      

  2.   

    什么直接解析xml?我是想让它按照这种方便阅读的方式,显示出来。不一定要正则表达式,能做出来就行。只是我本人觉得正则表达式更灵活。
      

  3.   

     XmlDocument doc = new XmlDocument();
               doc.LoadXml("<xml><Dollar>4000.00</Dollar><Euro>2000.00</Euro><Yen>60,000.00</Yen></xml>");
                  
     string text = string.Empty;
               foreach (XmlNode n in doc.FirstChild.ChildNodes)
               {
                   text += string.Format("{0}:{1}\n",n.Name,n.InnerText);
               }......
      

  4.   

    Xmldocument xmlDoc=new Xmldocument(Path);
    XmlElement xmlEle=xmlDoc.GetElement();
    大概是这样,能把那个解析出来,然后你自己组合吧。未测试
      

  5.   


    这里有一个问题,如果是完整的XML内容,它是没有反应的。例如:
    <?xml version="1.0" encoding="utf-8" standalone="yes"?><Product><Book>Love</Book><Player>Apple iPhone</Player></Product>还有,如果doc.LoadXml()里面为空。例如,doc.LoadXml(this.TextBox1.Text),this.TextBox1.Text为空,就会有异常。那么,这个异常,是如何捕捉的?try{}catch(){}。