CYQ.Data的XML操作的一些自己使用记录

对于我这种不经常操作XML的,偶尔操作XML真的感觉头疼。主要还是对XML的了解不够完整。可以说是一点儿不会,每次操作XML都给抛N多异常。

因为比较经常使用CYQ.Data,刚好还支持操作,这次研究了一下,这次把自己的使用记录一下。

首先贴一下作者的文档地址   CYQ.Data.Xml XmlHelper 帮助类的使用帮助 - CYQ.Data 数据层框架 - 秋色园 (cyqdata.com)

里面其实已经很完善了,只是没有比较系统的串起来。

我自己研究了一下,也不知道是不是最好的用法,不过能实现,记录一下。

我这里有个需求想通过CYQ.Data从创建到保存一个xml,如下

 <root>
<urls>
<add virtualUrl="~nihao/$" destinationUrl="~/ok.aspx?id=30"/>
<add virtualUrl="~nihao$" destinationUrl="~/ok.aspx?id=20"/>
</urls>
</root>
using CYQ.Data.Xml;
using CYQ.Data.Table;
public void MakeXML(){

        var xml = new XHtmlAction();
        var root= xml.XmlDoc.CreateElement("root");
        xml.CreateNodeTo(root, "urls", "");
        xml.XmlDoc.LoadXml(root.OuterXml);//我之前就是卡在这里一直没有给自己创建的节点导入到new 的XHtmlAction里,总是输出不了结果。
MDataTable mdt = new MDataTable();

        mdt.Columns.Add("virtualUrl", System.Data.SqlDbType.VarChar);
        mdt.Columns.Add("destinationUrl", System.Data.SqlDbType.VarChar);
        
            var row = mdt.NewRow(true);
            row.Set("virtualUrl", "~/nihao/$");
            row.Set("destinationUrl", "~/ok.aspx?id=30");
            row = mdt.NewRow(true);
            row.Set("virtualUrl", "~/nihao$");
            row.Set("destinationUrl", "~/ok.aspx?id=20");

        xml.LoadData(mdt);//从MDataTable导入数据
        xml.SetForeach(xml.GetList("urls").Item(0), "<add virtualUrl=\"{0}\" destinationUrl=\"{1}\"/>", "virtualUrl", "destinationUrl");//配合SetForeach组合数据
        xml.Save(Server.MapPath("/url.xml"));//最后写入到url.xml文件

}

 

posted @ 2021-10-13 11:13  uxinxin  阅读(93)  评论(0)    收藏  举报