أفضل طريقة للحصول على بفواصل سلسلة في شكل أكس؟

StackOverflow https://stackoverflow.com/questions/251753

  •  05-07-2019
  •  | 
  •  

سؤال

وعن طريق VB.net (.NET 2.0) لدي سلسلة في هذا الشكل:

record1_field1,record1_field2,record2_field3,record2_field1,record2_field2,

وغيرها ...

وأتساءل ما هي أفضل (أسهل) طريقة للحصول على هذا إلى أكس؟

وأستطيع أن أفكر في 2 طرق:

والأسلوب 1: - تقسيم استخدام للحصول على العناصر في مجموعة - حلقة من خلال مجموعة وبناء سلسلة XML باستخدام سلسلة

والطريقة 2: - تقسيم استخدام للحصول على العناصر في مجموعة - حلقات عبر مجموعة لبناء DataTable و - استخدام writexml إلى XML الإخراج من DataTable و

والأولى يبدو بسيطة جدا ولكنها تحتاج إلى مزيد من المنطق لبناء السلسلة.

ووالثاني يبدو المعطف وأسهل للفهم.

هل هناك طرق أخرى للقيام بذلك؟

هل كانت مفيدة؟

المحلول

وأود أن تفعل شيئا من هذا القبيل:


XmlDocument doc = new XmlDocuent();

string[] data = csv.split(',');

XmlNode = doc.CreateElement("root");
foreach(string str in data)
{
    XmlNode node = doc.CreateElement("data");
    node.innerText = str;
    root.AppendChild(node);
}
Console.WriteLine(doc.InnerXML);

ويجب أن تعود شيئا من هذا القبيل:


<root>
    <data>field 1</data>
    <data>field 2</data>
    <data>field 3</data>
</root>

وسيكون لديك لعش حلقات / tokenize بطريقة مختلفة قليلا عن البيانات متداخلة ...

نصائح أخرى

وبدلا من ان يفعل سلسلة سلسلة، ربما يمكن خلق XmlDocument وافعل ما بدا لك مع XmlElement المناسب والكائنات XmlAttribute من سلسلة الخاص بك ... ثم يكتب بها كائن XmlDocument ...

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top