كيف تكتب EntityReference (على سبيل المثال & nbsp ؛) إلى XMlWriter ، يقرأها Xmlnodereader؟

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

سؤال

خلفية
أنا أقرأ وأكتب مستند XML باستخدام القارئ والكاتب ، مع تصفية المنطق بين عمليات القراءة والكتابة لتحديد الأجزاء التي يجب أن تكون مكتوبة مرة أخرى (بشكل فعال يقوم بتجريد بعض العلامات) ...

اختياري للتنفيذ حاليًا هو ما يلي: Xmlnodereader, XMLWriter و xmlnodeType

using System.Xml;

// Read every node
using (XmlNodeReader reader = new XmlNodeReader(xmlFragment)) {

    // But write out only nodes I want
    using (XmlWriter writer = XmlTextWriter.Create(sb, writerSettings)) {

        while (reader.Read()) {

            //... with filtering logic here to choose what is to be written.

            //  I do want to write out all entity references
            if (XmlNodeType.EntityReference == reader.NodeType)
                ; // but how do I do that here?
        }
    }
}

مشكلة
عندما أواجه مرجع كيان مع القارئ ، أحصل على سلسلة فارغة "" في reader.Value ومع ذلك فهي حقا   القيمة في مصدر XML الذي تمت مواجهته. لذلك تم اكتشافه ، ولكن غير متوفر لي.

يبدو أن حالة التخصص أو الحافة:
لقد وجدت ما يلي مقالة MSDN التي تشير إلى أن مراجع الكيان خاصة إلى حد ما أثناء التحليل, ، لكنني لم أتمكن من استخدامه نحو حل العمل. يبدو متناثرًا على التفاصيل - أفضل أن يكون هناك عينة رمز لاستكمالها.

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

المحلول

يمكنك إحالة هذا الرابط: http://msdn.microsoft.com/en-us/library/system.xml.xmlreader.name.aspx

أتمنى أن يساعدك هذا!!

xmlreader.name ملكية
عند تجاوزه في فئة مشتقة ، يحصل على الاسم المؤهل للعقدة الحالية.

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