最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

利用Dom操作字符串一例

 更新時(shí)間:2012年01月12日 01:12:13   作者:  
利用Dom操作字符串一例,需要的朋友可以參考下。
有時(shí)對(duì)字符串的處理可以利用Dom模式,例如下面字符串:

<a1>a1的值</a1><a2>a2的值</a2><a3>a3的值</a3><a4><b4 id='b4'>b4的值</b4></a4>

要將b4元素的值修改為“修改后的b4“。

除了用正則的方法外,還可以考慮Dom操作,下面分別用XmlDocument類和HtmlAgilityPack操作。

方法1,用XmlDocument類:
復(fù)制代碼 代碼如下:

XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml("<xml>" + s + "</xml>");
xmlDoc.SelectSingleNode(@"http://b4").InnerText = "修改后的b4";
Response.Write(Server.HtmlEncode(xmlDoc.DocumentElement.InnerXml));

上面第二句是關(guān)鍵,由于源字符串可能缺少唯一的根元素,如本例,所以在外層包裹一對(duì)標(biāo)簽就可以將其轉(zhuǎn)化為合法的xml文檔,然后修改后的源文本用xmlDoc.DocumentElement.InnerXml取出。當(dāng)然方法1僅限于源文本近似于xml且比較規(guī)范的場(chǎng)合。

方法2,用HtmlAgilityPack:
復(fù)制代碼 代碼如下:

string s = @"<a1>a1的值</a1><a2>a2的值</a2><a3>a3的值</a3><a4><b4 id='b4'>b4的值</b4></a4>";
HtmlDocument hxmlDoc = new HtmlDocument();
hxmlDoc.LoadHtml(s);
hxmlDoc.DocumentNode.SelectSingleNode(@"http://b4").InnerHtml = "修改后的b4";
Response.Write(Server.HtmlEncode(hxmlDoc.DocumentNode.InnerHtml));

無(wú)須用標(biāo)簽包裹,因?yàn)榧词箾](méi)有唯一根元素,HtmlAgilityPack仍能正常解析。

以上兩種方法啟示我們對(duì)于數(shù)據(jù)量不太大、執(zhí)行效率要求不太高的數(shù)據(jù),可以自行組織成標(biāo)簽的形式,在程序中使用,也可以存放在文本文件中。相應(yīng)的讀取寫入操作是比較方便的。讀者可以對(duì)Dom操作涉及的類和成員做進(jìn)一步封裝,簡(jiǎn)化相應(yīng)操作。

相關(guān)文章

  • ASP.NET 程序優(yōu)化 小結(jié)

    ASP.NET 程序優(yōu)化 小結(jié)

    asp.net開發(fā)中,需要注意程序的優(yōu)化,下面的整理的一些,大家可以補(bǔ)充下。
    2009-08-08
  • asp.net updatepanel 導(dǎo)致JS不能加載,而無(wú)法使用的解決方法

    asp.net updatepanel 導(dǎo)致JS不能加載,而無(wú)法使用的解決方法

    asp.net updatepanel 局部刷新,導(dǎo)致JS不能加載,而無(wú)法使用,而且 updatepanel會(huì)刷兩次,郁悶的,解決方法如下
    2013-08-08
  • ADO.NET 讀取EXCEL的實(shí)現(xiàn)代碼((c#))

    ADO.NET 讀取EXCEL的實(shí)現(xiàn)代碼((c#))

    經(jīng)常需要在數(shù)據(jù)庫(kù)與Execl之間互導(dǎo)數(shù)據(jù)。net時(shí)代,ADO.NET可以使用使用Microsoft.Jet.OleDb訪問(wèn)訪問(wèn)Excel,網(wǎng)上已經(jīng)有很多類似的資源,最典型也是最簡(jiǎn)單的可能如下:(asp.net環(huán)境)
    2012-12-12
  • aspxgridview CustomButtonCallback 不支持彈出消息提示解決方法

    aspxgridview CustomButtonCallback 不支持彈出消息提示解決方法

    aspxgridveiw是devexpress的一個(gè)grid控件,使用起來(lái)還不錯(cuò),不能再 CustomButtonCallback 事件中使用response.write,具體的解決方法如下,感興趣的朋友可以參考下哈
    2013-06-06
  • asp.net core集成MongoDB的完整步驟

    asp.net core集成MongoDB的完整步驟

    前兩天在學(xué)習(xí)MongoDB相關(guān)的知識(shí),做了個(gè)小Demo,下面這篇文章主要給大家介紹了關(guān)于asp.net core集成MongoDB的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2018-10-10
  • Asp.Net中的Action和Func委托實(shí)現(xiàn)

    Asp.Net中的Action和Func委托實(shí)現(xiàn)

    這篇文章主要介紹了Asp.Net中的Action和Func委托的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • ASP.NET MVC對(duì)URL匹配操作

    ASP.NET MVC對(duì)URL匹配操作

    這篇文章介紹了ASP.NET MVC對(duì)URL匹配操作的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-03-03
  • Asp.net配合easyui實(shí)現(xiàn)返回json數(shù)據(jù)實(shí)例

    Asp.net配合easyui實(shí)現(xiàn)返回json數(shù)據(jù)實(shí)例

    這篇文章主要介紹了Asp.net配合easyui實(shí)現(xiàn)返回json數(shù)據(jù)的方法,實(shí)例分析了Asp.net配合easyui返回json數(shù)據(jù)時(shí)出現(xiàn)的問(wèn)題及解決方法,非常具有實(shí)用價(jià)值的技巧,需要的朋友可以參考下
    2014-12-12
  • MVC、MVP和MVVM分別是什么_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    MVC、MVP和MVVM分別是什么_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    MVC,MVP 和 MVVM分別是什么?MVC(Model-View-Controller)是最常見的軟件架構(gòu)之一,業(yè)界有著廣泛應(yīng)用。它本身很容易理解,但是要講清楚,它與衍生的 MVP 和 MVVM 架構(gòu)的區(qū)別就不容易了。
    2017-08-08
  • .NET CORE中使用AutoMapper進(jìn)行對(duì)象映射的方法

    .NET CORE中使用AutoMapper進(jìn)行對(duì)象映射的方法

    這篇文章主要給大家介紹了關(guān)于.NET CORE中使用AutoMapper進(jìn)行對(duì)象映射的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用.NET CORE具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04

最新評(píng)論

和田县| 和平区| 英吉沙县| 五莲县| 榆中县| 行唐县| 绍兴市| 同江市| 新疆| 读书| 曲阳县| 且末县| 石阡县| 湖口县| 塔河县| 凤山市| 韶山市| 东至县| 花莲市| 即墨市| 松桃| 曲靖市| 闵行区| 新民市| 天峨县| 三河市| 长垣县| 尉犁县| 宿州市| 绥江县| 房山区| 济阳县| 乡城县| 桃园县| 株洲县| 镇巴县| 邯郸县| 盐城市| 田林县| 安平县| 奈曼旗|