示例#1
0
 public AtomEntry(AtomProtocolVersion atomVer, Namespace atomNS, string categoryScheme, XmlNamespaceManager nsMgr, Uri documentUri, XmlElement entryNode)
 {
     _atomVer = atomVer;
     _categoryScheme = categoryScheme;
     _nsMgr = nsMgr;
     _documentUri = documentUri;
     _entryNode = entryNode;
     _atomNS = atomNS;
 }
示例#2
0
        public AtomClient(AtomProtocolVersion atomVer, Uri postApiUrl, IBlogCredentialsAccessor credentials)
            : base(credentials)
        {
            _feedServiceUrl = postApiUrl;

            // configure client options
            BlogClientOptions clientOptions = new BlogClientOptions();
            ConfigureClientOptions(clientOptions);
            _clientOptions = clientOptions;

            _atomVer = atomVer;
            _atomNS = new Namespace(atomVer.NamespaceUri, "atom");
            _pubNS = new Namespace(atomVer.PubNamespaceUri, "app");
            _nsMgr = new XmlNamespaceManager(new NameTable());
            _nsMgr.AddNamespace(_atomNS.Prefix, _atomNS.Uri);
            _nsMgr.AddNamespace(_pubNS.Prefix, _pubNS.Uri);
            _nsMgr.AddNamespace(xhtmlNS.Prefix, xhtmlNS.Uri);
            _nsMgr.AddNamespace(featuresNS.Prefix, featuresNS.Uri);
            _nsMgr.AddNamespace(mediaNS.Prefix, mediaNS.Uri);
            _nsMgr.AddNamespace(liveNS.Prefix, liveNS.Uri);
        }
示例#3
0
        private void RemoveNodes(string localName, Namespace ns)
        {
            ArrayList nodes = new ArrayList();
            foreach (XmlNode n in _entryNode.SelectNodes("./" + ns.Prefix + ":" + localName, _nsMgr))
                nodes.Add(n);

            for (int i = 0; i < nodes.Count; i++)
            {
                XmlNode n = (XmlNode)nodes[i];
                n.ParentNode.RemoveChild(n);
            }
        }
示例#4
0
        private XmlNode PopulateElement(string val, Namespace ns, string localName)
        {
            RemoveNodes(localName, ns);

            if (val != null)
            {
                XmlNode newNode = _entryNode.OwnerDocument.CreateElement(ns.Prefix, localName, ns.Uri);
                newNode.InnerText = val;
                _entryNode.AppendChild(newNode);
                return newNode;
            }
            else
            {
                return null;
            }
        }