【Win 10 应用开发】分析 URI 中的查询字符串
分析URI中的字符有K種方法(K >= 2),如果查詢字符串中的參數(shù)比較簡單,可以通過子字符串查找的方式來處理;如果查詢字符串相對復雜,你可以使用正則表達式來匹配 key1=value1 ,? key2=value2等。
如果你想很輕松地完成查詢參數(shù)分析,應當考慮使用現(xiàn)成的API,這不,在Windows.Foundation命名空間下面,你會看到一個名字很刺眼的類——WwwFormUrlDecoder。這個很是簡單,調(diào)用構造函數(shù)創(chuàng)建實例時需要提供一個參數(shù),就是URI中的查詢字符串,而且必須是以 ? 開頭。然后就可以慢慢玩了,它實現(xiàn)了可枚舉接口,你可用foreach來檢索所有參數(shù),URI參數(shù)經(jīng)過該類處理后,會把每一對參數(shù)變成一個WwwFormUrlDecoderEntry實例,其中,Name 屬性就是參數(shù)的大名,Value 屬性表示參數(shù)的值。
這么一耍,你是不是有些感嘆,原來生活可以如此簡單。
咱們來實戰(zhàn)一下,請看看下面XAML布局。
<StackPanel Margin="15"><TextBox Name="txtUriWithQry" Header="請輸入帶查詢字符串的URI:" Text="http://www.ads-rubbish.net/index.sb?t=5&m=dog&d=100"/><Button Margin="0,10,0,3" Content="分析" Click="OnClick"/><TextBlock Name="tb"/></StackPanel>在TextBox中輸入一個帶查詢參數(shù)的URI,然后點按鈕,接著分析參數(shù),最后在TextBlock中顯示分析后的參數(shù)列表。
下面代碼處理按鈕單擊事件。
private void OnClick(object sender, RoutedEventArgs e){Uri u = new Uri(txtUriWithQry.Text);tb.Text = string.Empty;WwwFormUrlDecoder dcd = new WwwFormUrlDecoder(u.Query);foreach (WwwFormUrlDecoderEntry ent in dcd){tb.Text += $"{ent.Name} = {ent.Value}\n";}}為什么要用Uri類來耍呢,因為它有個Query屬性,直接可以獲取到查詢字符串,而且是帶?號的。
最后就可以看效果了。
?
本文的示例實在太簡單了,因此,老周嚴重拒絕提供示例代碼下載。
?
===========================================================
有好幾回沒講故事了,唉,最近確實沒啥故事可講,老周近來也沒看到比較“另類”的事件。
哦,想起來了一事,提醒一下大家,最近天氣潮濕,開電腦前要小心一點,比較容易燒壞東西,尤其是一些老式顯示器,不過,貌似筆記本沒多大影響。
?
轉(zhuǎn)載于:https://www.cnblogs.com/tcjiaan/p/5316475.html
總結
以上是生活随笔為你收集整理的【Win 10 应用开发】分析 URI 中的查询字符串的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【CODEVS2577】医院设置
- 下一篇: 生成序列的方法