我正在設計一個調查工具。調查將是非常靜態的,因此,我可以避免建立某種桌面驅動的調查設計師來調查調查中的167個問題(在收音機盒或複選框佈局中所有1-5個評分問題)。使用除xml以外的應用程序數據結構
我在考慮在一個大的XML文件中構建調查問題,但我的非技術人員會頻繁地對調查進行編輯,這可能會破壞原始XML的完整性/有效性文件(認爲標點符號和特殊字符)。
XML文件可能看起來像:
<questions>
<question>
<type>checkbox</type>
<text>Which beers do you like most</text>
<choices>Bud,Miller,Piels</choices>
<Required>true</Required>
</question>
<question>
<type>radio</type>
<text>Which beer is your favorite</text>
<choices>Bud,Miller,Piels</choices>
<Required>true</Required>
</question>
</questions>
請用你的想象力,這種結構將更爲複雜一點,將有165多個問題。
複雜的事情,我需要以某種形式的面向對象的佈局來解決這些問題,以便我可以將結果與其他東西對齊。我考慮過用167個問題對一個非常冗長的調查表進行硬編碼,但我需要將這些數據分塊,以便我可以解析出問題37並將其與其他功能中的其他功能進行對比,這與問題37有關。
這是我想在.NET應用程序做什麼:
- 定義枚舉類此。
做一些事情,我可以手動使用我需要的所有數據填充此類的可枚舉集合。使用我的.asp世界中熟悉的p代碼。 。 。
questions q = new questions() q.type = "checkbox"; q.text = "which beers do you enjoy"' q.choices = "Bud,Miller,Peils"; q.required = true; q.add q.type = "radio"; q.text = "what is your favorite beer"; q.choices = "Bud,Miller,Peils"; q.required = true; q.add
我希望這個cs文件(儘管國外找外行的人)會更容易爲我的同事來維持,沒有我不必擔心語法錯誤。
所以,我想我在尋找一些反饋:
這只是一個愚蠢的想法。我應該用XML來做這件事,我只需要使用XML文件並完成它。
WWYD - 你會做什麼?有沒有更簡單的方法來做到這一點?
- 我不關心性能,因爲相對較少的用戶正在使用它。
- 我不關心可維護性,因爲我們會在夏天正確編寫這個功能。
- 我只需要創建一個數據結構,該數據結構不在數據庫中,並且可以由非技術人員使用文本編輯器(現在)來維護。
如果有人做了這一步,我很感激。
花5分鐘解釋XML是如何工作的,而且你很好。另外,也許在使用它之前定義一個XSD並驗證XML。在我看來,XML方式是最簡單的解決方案。更改代碼文件是一個壞主意。因爲每次編輯或新調查都需要編譯;而使用「外部數據源」(XML)則可以加載調查。 – Styxxy
- 或者創建一個視覺設計師。 - 但是,XML是要走的路。如果您提供XSD,您的同事可以使用提供Intellisense(自動完成)和語法驗證功能的Visual Studio(或任何其他支持XML的編輯器,如Altova)。 –
我沒有想到XSD。好主意啊。 – user2177720