本文整理汇总了C#中System.Xml.XmlDocument.NodesGet方法的典型用法代码示例。如果您正苦于以下问题:C# XmlDocument.NodesGet方法的具体用法?C# XmlDocument.NodesGet怎么用?C# XmlDocument.NodesGet使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Xml.XmlDocument
的用法示例。
在下文中一共展示了XmlDocument.NodesGet方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Yandex
private XmlNode Yandex()
{
if (DateTime.Now >= _cTemplate.dtNext)
{
int nBuild;
XmlNode cResult;
XmlNode[] aItems;
XmlDocument cXmlDocument = new XmlDocument();
cXmlDocument.LoadXml((new System.Net.WebClient() { Encoding = Encoding.UTF8 }).DownloadString("http://news.yandex.ru/index.rss"));
nBuild = cXmlDocument.NodeGet("rss/channel/lastBuildDate").InnerText.GetHashCode();
if (_cTemplate.nBuild != nBuild)
{
aItems = cXmlDocument.NodesGet("rss/channel/item", false);
if (null != aItems)
{
_cTemplate.nBuild = nBuild;
cXmlDocument = new XmlDocument();
cResult = cXmlDocument.CreateNode(XmlNodeType.Element, "result", null);
XmlNode cXNItem;
foreach (string sItem in aItems.Select(o => o.NodeGet("title").InnerText).ToArray())
{
cXNItem = cXmlDocument.CreateNode(XmlNodeType.Element, "item", null);
cXNItem.InnerText = sItem.StripTags() + ". ";
cResult.AppendChild(cXNItem);
}
_cTemplate.cValue = cResult;
_cTemplate.dt = DateTime.Now;
}
else
(new Logger()).WriteWarning("can't get any news from rss");
}
}
return _cTemplate.cValue;
}
示例2: Yahoo
private XmlNode Yahoo()
{
if (DateTime.Now >= _cTemplate.dtNext)
{
int nBuild;
XmlNode cResult, cXN, cXNChild;
XmlAttribute cXA;
XmlNode[] aItems;
XmlDocument cXmlDocument = new XmlDocument();
cXmlDocument.LoadXml((new System.Net.WebClient() { Encoding = Encoding.UTF8 }).DownloadString("https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.quotes%20where%20symbol%20in%20(%22%5EIPSA%22%2C%22%5ESSEC%22%2C%22%5EFCHI%22%2C%22%5EHSI%22%2C%22%5EJKSE%22%2C%22%5EN225%22%2C%22%5EKLSE%22%2C%22%5EAEX%22%2C%22%5EKS11%22%2C%22%5ESSMI%22%2C%22%5ETNX%22%2C%22%5EIRX%22%2C%22%5ETYX%22%2C%22%5EFVX%22%2C%22%5EFTSE%22%2C%22%5EATX%22%2C%22ASX%22%2C%22BSE%22%2C%22%5ESTI%22%2C%22DOW%22%2C%22RTS.RS%22)%0A&diagnostics=false&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys"));
nBuild = cXmlDocument.InnerText.GetHashCode();
if (_cTemplate.nBuild != nBuild)
{
aItems = cXmlDocument.NodesGet("query/results/quote", false);
string sValue;
if (null != aItems)
{
_cTemplate.nBuild = nBuild;
cXmlDocument = new XmlDocument();
cResult = cXmlDocument.CreateNode(XmlNodeType.Element, "result", null);
foreach (XmlNode cXNQuote in aItems)
{
if ((sValue = cXNQuote.NodeGet("Open").InnerText).IsNullOrEmpty())
continue;
cXN = cXmlDocument.CreateNode(XmlNodeType.Element, "item", null);
cXNChild = cXmlDocument.CreateNode(XmlNodeType.Element, "item", null);
cXA = cXmlDocument.CreateAttribute("id");
cXA.Value = "ticker";
cXNChild.Attributes.Append(cXA);
cXNChild.InnerText = cXNQuote.AttributeValueGet("symbol").Replace("^", "");
cXN.AppendChild(cXNChild);
cXNChild = cXmlDocument.CreateNode(XmlNodeType.Element, "item", null);
cXA = cXmlDocument.CreateAttribute("id");
if(cXNQuote.NodeGet("Change").InnerText.StartsWith("-"))
cXA.Value = "negative";
else
cXA.Value = "positive";
cXNChild.Attributes.Append(cXA);
cXNChild.InnerText = " " + sValue;
cXN.AppendChild(cXNChild);
cResult.AppendChild(cXN);
}
_cTemplate.cValue = cResult;
_cTemplate.dt = DateTime.Now;
}
else
(new Logger()).WriteWarning("can't get currencies");
}
}
return _cTemplate.cValue;
}
示例3: Preferences
public Preferences(string sWorkFolder, string sData)
{
nTop = nLeft = 0;
bCUDA = true;
if (!Directory.Exists(_sFolderFootages = Path.Combine(_sWorkFolder = sWorkFolder, "footages")))
Directory.CreateDirectory(_sFolderFootages);
if (!Directory.Exists(_sFolderPoll = Path.Combine(_sFolderFootages, "polls")))
Directory.CreateDirectory(_sFolderPoll);
XmlDocument cXmlDocument = new XmlDocument();
cXmlDocument.Load(Path.Combine(sWorkFolder, "preferences.xml"));
if(null == (
//берем самое старое голосование
_cPoll = cXmlDocument.NodesGet("preferences/polls/poll").Select(o => new Poll()
{
sName = o.AttributeValueGet("name", false),
dtLast = o.AttributeGet<DateTime>("dt", false),
sDescription = o.NodeGet("description").InnerText,
aCandidates = o.NodesGet("candidate").Select(o1 => new Poll.Candidate() {
sName = o1.AttributeValueGet("name").ToLower(),
sImage = o1.AttributeValueGet("image"),
sDescription = o1.AttributeValueGet("description"),
nVotesQty = 0
}).ToArray()
}).Where(o => 1 > _aPollsPreparing.Count(o1 => o1.nID == o.nID)).OrderBy(o => (x.ToDT(null) > o.dtLast ? o.dtLast.Ticks : 0)).FirstOrDefault()
?? _aPollsPreparing.OrderBy(o => (x.ToDT(null) > o.dtLast ? o.dtLast.Ticks : 0)).FirstOrDefault()
))
throw new Exception("no poll specified");
XmlNode cXmlNode = cXmlDocument.NodeGet("preferences/blender");
sFolderBlender = cXmlNode.AttributeValueGet("folder");
XmlDocument cXD = new XmlDocument();
XmlAttribute cXA;
XmlNode cXNBlend = cXmlNode.NodeGet("mat");
cMat = cXD.CreateElement("data");
cXA = cXD.CreateAttribute("effect");
cXA.Value = "render";
cMat.Attributes.Append(cXA);
cXA = cXD.CreateAttribute("blend");
cXA.Value = Path.Combine(sWorkFolder, "blender", cXNBlend.AttributeValueGet("blend"));
cMat.Attributes.Append(cXA);
cXA = cXD.CreateAttribute("threads");
cXA.Value = cXNBlend.AttributeValueGet("threads");
cMat.Attributes.Append(cXA);
XmlNode cPython = cXD.CreateElement("python");
cPython.InnerText = cXNBlend.InnerText.
Replace("{%_IMAGE_LEFT_%}", _cPoll.aCandidates[0].sImage).
Replace("{%_IMAGE_RIGHT_%}", _cPoll.aCandidates[1].sImage).
Replace("{%_TEXT_TOP_ARRAY_%}", "\"" + _cPoll.sDescription.Remove("\r").Split('\n').Select(o => o.Trim().Replace("\"", "\\\"")).Where(o => !o.IsNullOrEmpty()).Aggregate((r, o) => r += "\",\"" + o) + "\"").
Replace("{%_TEXT_LEFT_%}", _cPoll.aCandidates[0].sDescription).
Replace("{%_TEXT_RIGHT_%}", _cPoll.aCandidates[1].sDescription);
cMat.AppendChild(cPython);
cXNBlend = cXmlNode.NodeGet("votes");
cVotes = cXD.CreateElement("data");
cXA = cXD.CreateAttribute("effect");
cXA.Value = "render";
cVotes.Attributes.Append(cXA);
cXA = cXD.CreateAttribute("blend");
cXA.Value = Path.Combine(sWorkFolder, "blender", cXNBlend.AttributeValueGet("blend"));
cVotes.Attributes.Append(cXA);
cXA = cXD.CreateAttribute("threads");
cXA.Value = cXNBlend.AttributeValueGet("threads");
cVotes.Attributes.Append(cXA);
cPython = cXD.CreateElement("python");
cPython.InnerText = cXNBlend.InnerText;
cVotes.AppendChild(cPython);
if (!Directory.Exists(_sFolderPoll = Path.Combine(_sFolderPoll, (cMat.InnerText + cVotes.InnerText).GetHashCode().ToStr())))
Directory.CreateDirectory(_sFolderPoll);
cXA = cXD.CreateAttribute("output");
cXA.Value = "*" + (sFolderMat = Path.Combine(_sFolderPoll, "mat"));
cMat.Attributes.Append(cXA);
cMat.InnerXml = cMat.InnerXml.Replace("{%_PATH_%}", sFolderMat.Replace("\\", "/"));
if (!Directory.Exists(sFolderMat))
Directory.CreateDirectory(sFolderMat);
cXA = cXD.CreateAttribute("output");
cXA.Value = "*" + (sFolderVotes = Path.Combine(_sFolderPoll, "votes"));
cVotes.Attributes.Append(cXA);
cVotes.InnerXml = cVotes.InnerXml.Replace("{%_PATH_%}", sFolderVotes.Replace("\\", "/"));
if (!Directory.Exists(sFolderVotes))
Directory.CreateDirectory(sFolderVotes);
cXmlDocument.LoadXml(sData);
cXmlNode = cXmlDocument.NodeGet("data");
nLeft = cXmlNode.AttributeGet<short>("left");
nTop = cXmlNode.AttributeGet<short>("top");
bCUDA = cXmlNode.AttributeGet<bool>("cuda");
nLayer = cXmlNode.AttributeGet<ushort>("layer");
}
示例4: CBR
private XmlNode CBR()
{
if (DateTime.Now >= _cTemplate.dtNext)
{
int nBuild;
XmlNode cResult, cXN, cXNChild;
XmlAttribute cXA;
XmlNode[] aItems;
XmlDocument cXmlDocument = new XmlDocument();
cXmlDocument.LoadXml((new System.Net.WebClient() { Encoding = Encoding.GetEncoding("windows-1251") }).DownloadString("http://www.cbr.ru/scripts/XML_daily.asp"));
nBuild = cXmlDocument.InnerText.GetHashCode();
if (_cTemplate.nBuild != nBuild)
{
aItems = cXmlDocument.NodesGet("ValCurs/Valute", false); //[Nominal=1]
if (null != aItems)
{
_cTemplate.nBuild = nBuild;
cXmlDocument = new XmlDocument();
cResult = cXmlDocument.CreateNode(XmlNodeType.Element, "result", null);
foreach (XmlNode cXNCurrency in aItems)
{
cXN = cXmlDocument.CreateNode(XmlNodeType.Element, "item", null);
cXNChild = cXmlDocument.CreateNode(XmlNodeType.Element, "item", null);
cXA = cXmlDocument.CreateAttribute("id");
cXA.Value = "code";
cXNChild.Attributes.Append(cXA);
cXNChild.InnerText = cXNCurrency.NodeGet("CharCode").InnerText;
cXN.AppendChild(cXNChild);
cXNChild = cXmlDocument.CreateNode(XmlNodeType.Element, "item", null);
cXA = cXmlDocument.CreateAttribute("id");
cXA.Value = "value";
cXNChild.Attributes.Append(cXA);
cXNChild.InnerText = " " + cXNCurrency.NodeGet("Value").InnerText;
cXN.AppendChild(cXNChild);
cResult.AppendChild(cXN);
}
_cTemplate.cValue = cResult;
_cTemplate.dt = DateTime.Now;
}
else
(new Logger()).WriteWarning("can't get currencies");
}
}
return _cTemplate.cValue;
}
示例5: PollUpdate
public void PollUpdate()
{
string sFile = Path.Combine(_sWorkFolder, "preferences.xml");
XmlDocument cXmlDocument = new XmlDocument();
cXmlDocument.Load(sFile);
XmlNode cXNPoll = cXmlDocument.NodesGet("preferences/polls/poll").Where(o => (new Poll()
{
sName = o.AttributeValueGet("name", false),
dtLast = o.AttributeGet<DateTime>("dt", false),
sDescription = o.NodeGet("description").InnerText,
aCandidates = o.NodesGet("candidate").Select(o1 => new Poll.Candidate()
{
sName = o1.AttributeValueGet("name").ToLower(),
sImage = o1.AttributeValueGet("image"),
sDescription = o1.AttributeValueGet("description"),
nVotesQty = 0
}).ToArray()
}).nID == _cPoll.nID).FirstOrDefault();
if (null == cXNPoll)
throw new Exception("cannot find target poll");
cXNPoll.AttributeAdd("dt", _cPoll.dtLast = DateTime.Now);
cXmlDocument.Save(sFile);
}