濮阳杆衣贸易有限公司

主頁 > 知識庫 > 利用Dom操作字符串一例

利用Dom操作字符串一例

熱門標(biāo)簽:浙江外呼系統(tǒng)怎么安裝 山西防封卡電銷卡套餐 上海楊浦怎么申請申請400電話 云南外呼電銷機器人系統(tǒng) 陜西人工外呼系統(tǒng)哪家好 銅川小型外呼系統(tǒng)運營商 海外地圖標(biāo)注門市標(biāo) 地圖標(biāo)注多個行程 廈門商鋪地圖標(biāo)注
有時對字符串的處理可以利用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)鍵,由于源字符串可能缺少唯一的根元素,如本例,所以在外層包裹一對標(biāo)簽就可以將其轉(zhuǎn)化為合法的xml文檔,然后修改后的源文本用xmlDoc.DocumentElement.InnerXml取出。當(dāng)然方法1僅限于源文本近似于xml且比較規(guī)范的場合。

方法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));

無須用標(biāo)簽包裹,因為即使沒有唯一根元素,HtmlAgilityPack仍能正常解析。

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

標(biāo)簽:常州 許昌 朔州 孝感 信陽 自貢 西雙版納 萊蕪

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《利用Dom操作字符串一例》,本文關(guān)鍵詞  利用,Dom,操作,字符串,一例,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《利用Dom操作字符串一例》相關(guān)的同類信息!
  • 本頁收集關(guān)于利用Dom操作字符串一例的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    防城港市| 墨玉县| 昌宁县| 社会| 大兴区| 井陉县| 霍城县| 宜君县| 昌邑市| 南汇区| 泾源县| 梁平县| 镶黄旗| 修文县| 佳木斯市| 洱源县| 沁水县| 陵川县| 徐闻县| 仁寿县| 砚山县| 连州市| 韩城市| 泸州市| 平顶山市| 昭苏县| 德格县| 巴南区| 台江县| 公主岭市| 祁门县| 金昌市| 涪陵区| 唐海县| 子长县| 凤城市| 本溪| 进贤县| 大埔县| 宁强县| 温泉县|