C_Sharp 板


LINE

※ 引述《g66932007 (孤單的人)》之銘言: : 請問XML有tag檢查的方式嗎?? : 目前系統是User下載XML檔(固定的tag)修改其內容, : 再上傳轉成pdf檔,可是User往往都把tag弄亂,造成轉成pdf時出現亂碼= = : 所以請問一下是否可以上傳時檢查每個tag名稱.順序是否正確....... : 還是有比較好的方式請不吝指教 謝謝~ 目前理解你的需求大概就是將固定的XML檔格式傳給User讓User輸入資料在回傳處理 首先轉為Pdf的作用由於沒說明所以就先當作你一定要這樣轉換(XML => PDF) User會弄亂這點的確不好處理,就像車輛銷售員當然是假設買主會開車 難道銷售員還要去擔心買主不會開車要怎麼辦?這是題外話了 XmlDocument類別的簡單介紹 http://0rz.tw/VbQPS MSDN的官方介紹 http://0rz.tw/aNXax新視窗開啟頁面 工作時學習XML服用上面兩個介紹花三個小時左右學會XML讀取與寫入 其中XmlNode應該有你需要的資料 ----------------------------- "印象中"讀取根節點(你指的應該是這個)不需要特地指定ID 與其怕User會去改名稱不如怕他們會把XML的分層架構刪除或打亂造成無法讀取 比較好的方式是提供使用者一個UI不要讓使用者直接碰程序處理的資料 例如提供網頁、小程式等等...用這些UI來負責處理XML檔再回傳 再來讀取node name的方式可以使用遞迴方式一層一層下去找 遞迴請參考MSDN的尋找檔案範例,原則上概念跟結構是差不多的 這部分我就不直接提供程式碼了,自己思考探索並得到的果實是很鮮美的 如何:以 C# .NET 遞迴搜尋目錄 http://0rz.tw/LHEsc 以下是如果我要驗證XML內的結構是否正確時的做法(沒實際寫過可能流程有錯誤) 1.讀取XML檔進Reader 2.使用遞迴方式將各層的節點分開存放到各個陣列Node中(子節點、孫節點等等...) 3.從外層到內層依序驗證數量、名稱、屬性等等... 我會選擇將各層分開存放而不是全部存入List,可以先從外層依序驗證到內層 並且從數量、名稱、屬性順序驗證,如果一口氣全部進入List然後用迴圈全部 驗證還蠻浪費效能時間,而且全部進入List你想如何分出各層我就不清楚了 假設你的架構子節點叫 Apple 孫節點叫 Count 但是使用者把子節點改為 Count 孫節點叫Apple 但是進入List用迴圈全部驗證都是正確的(因為兩者都存在) 因為沒去驗證他在不在正確的層上 當然如果你完全沒辦法確定或太多太多層的話 就推薦使用二維陣列來處理了 --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.33.85.47
1F:推 g66932007:謝謝前輩回答 是將xml的node name讀到LIST裡再比對吧? 01/12 23:19
2F:→ g66932007:可是我怕user動到NAMESPACES的部分= = 01/12 23:20
※ 編輯: m339606 來自: 114.33.85.47 (01/13 00:11)
3F:→ tsczx:比較建議寫成介面,讓使用者可以在介面上新增刪除修改節點 01/13 00:15
4F:→ tsczx:點選確認後轉成PDF 01/13 00:17
5F:→ tsczx:如果只是單純改內容,連結點增修都省了,做介面讓他們修改名稱 01/13 00:19







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Tech_Job站內搜尋

TOP