private string _NSXMLParserNSStringFromBytes(IntPtr pLocalname, NSXMLParserInfo info) { NSString str = (NSString)NS.MapGet(info.slowStringMap, pLocalname); if (str == null) { str = (NSString)NSString.AllocWithZone(null).InitWithBytes(pLocalname, (uint)pLocalname.strlen(), NSStringEncoding.NSUTF8StringEncoding); NS.MapInsertKnownAbsent(info.slowStringMap, pLocalname, str); } return str; }
public virtual id InitWithData(NSData data) { id self = this; SetupLibXml(); if (base.Init() != null) { _reserved1 = (NSXMLParserInfo)NSXMLParserInfo.Alloc().Init(); _reserved1.saxHandler = new LibXml.xmlSAXHandler(); _xmlStructuredErrorFuncPtr = Marshal.GetFunctionPointerForDelegate(new LibXml.xmlStructuredErrorFunc(_StructuredErrorFunc)); _reserved1.parserContext = IntPtr.Zero; _reserved1.error = null; _reserved1.parserFlags = 0; _reserved1.slowStringMap = (NSMapTable)NSMapTable.Alloc().Init(); InitializeSAX2Callbacks(); _reserved1.parserFlags |= 0x40; _reserved1.parserFlags |= 0x80; if (data != null) { _reserved3 = NSInputStream.InputStreamWithData(data); if (data.Length < 0x100000) _reserved1.chunkSize = data.Length; else _reserved1.chunkSize = 0x100000 * 256; } } return self; }