PDA

View Full Version : Write / Delete XML



ealireza
شنبه 16 مهر 1384, 19:57 عصر
سلام

اگه میشه راهنمایی کنید که در XML چطوری میشه مثلا رکورد شماره 5 یا رکوردی که ID اون 15 هست رو پاک کرد

یا مثلا یک رکورد جدید با حفظ داده های قبلی اضافه کرد

و ویرایش که مقلا رکورد 1 رو ویرایش کنم ...




احتیاج به یک بانک اطلاعاتی پرسرعت دارم هیچی بجز XML به ذهنم نرسید از SQL هم نمیخواهم استفاده کنم ...
اگه میشه راهنمایی کنید

مرسی

titbasoft
شنبه 16 مهر 1384, 23:46 عصر
فکر کنم اگر حذفش رو توضیح بدم بقیه اش حل باش:
فرض کنید یک فایل xml به نام p.xml به صورت زیر داریم:


<!DOCTYPE root [
<!ELEMENT root ANY>
<!ELEMENT Person ANY>
<!ATTLIST Person PersonID ID #REQUIRED>

]>
<root>
<Person PersonID='1' Name='mehdi'/>
<Person PersonID='6'/>
<Person PersonID='15' Name='reza'/>
<Person PersonID='3' Name='ali'/>
</root>
حالا با چیزی شبیه به کد زیر می تونید کد 15 رو حذف کنید و در صورت تمایل مجددا نتیجه رو ذخیره کنید.


Dim doc As New XmlDocument
doc.Load(Server.MapPath("p.xml"))

Dim node As XmlElement = doc.GetElementById("15")
Dim par As XmlElement = node.ParentNode
par.RemoveChild(node)
Response.Write(Server.HtmlEncode(doc.OuterXml).Rep lace(Chr(10), "<BR>"))

در ضمن اگر با DTD آشنایی ندارید توی msdn عبارت Representing the XDR Schema as a DTD رو جستجو کنید

ealireza
یک شنبه 17 مهر 1384, 00:08 صبح
XML خیلی گیج کننده هست ...
اگه میشه بگید که با XMLTextReader چطوری میشه مثلا مقدار TOTAL رو خواند .. از همون ROOT

مرسی

titbasoft
یک شنبه 17 مهر 1384, 10:22 صبح
امیدوارم این کمک کنه: http://www.barnamenevis.org/forum/showthread.php?t=19364

ealireza
یک شنبه 17 مهر 1384, 22:14 عصر
مرسی از همون Node استفاده کردم مرسی

فقط بنظر شما XML سریع تر هست یا SQL
منظورم 4000 تا فایل XML که هرکدوم یک متن 500 کیلوبایتی ذخیره شده
یا 4000 تا رکورد در SQL SERVER که یک متن 500 کیلوبایتی ذخیره شده و در یک Tabel هم باشند


مرسی

titbasoft
یک شنبه 17 مهر 1384, 23:49 عصر
بدون شک sql-server .
به هر حال sql-server یک database engine است و برای چنین کاری طراحی شده. از هر نظر که حساب کنید برای کارهای database استفاده از سیستم filing توصیه نمیشه ، چه security چه performance چه scalability چه availability چه extensibility و چه ...
تنها برای ذخیره داده های کوچک مانند setting ها config ها و یا از این دست که به مواردی که ذکر شد نیازی ندارند استفاده از سیستم filing توجیه پذیره
موفق باشید