本文将为您提供关于从XML文档获取指定的Node值的详细介绍,我们还将为您解释如何从xml中获取所有的数据的相关知识,同时,我们还将为您提供关于c#–从XML文件中读取特定的XML元素、c#–如何从X
本文将为您提供关于从XML文档获取指定的Node值的详细介绍,我们还将为您解释如何从xml中获取所有的数据的相关知识,同时,我们还将为您提供关于c# – 从XML文件中读取特定的XML元素、c# – 如何从XmlReader创建XML文件?、docker swarm如何在指定的node上运行指定的容器、GDataXMLNode解析xml文件的实用信息。
本文目录一览:- 从XML文档获取指定的Node值(如何从xml中获取所有的数据)
- c# – 从XML文件中读取特定的XML元素
- c# – 如何从XmlReader创建XML文件?
- docker swarm如何在指定的node上运行指定的容器
- GDataXMLNode解析xml文件
从XML文档获取指定的Node值(如何从xml中获取所有的数据)
我在遍历XML文档(使用C#)并获取所有必要的值时遇到问题。我成功地浏览了XML文档中所有指定的XmlNodeList,成功地获取了所有XmlNode值,但是我必须获取此XmlNodeList之外的一些值。
例如:
<?xml version="1.0" encoding="UTF-8" ?><Element xsi:schemaLocation="http://localhost/AML/CaseInvestigationMangement/Moduli/XmlImportControls/xsdBorrow.xsd xsd2009027_kor21.xsd" Kod="370" xmlns="http://localhost/AML/CaseInvestigationMangement/Moduli/XmlImportControls/xsdBorrow.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">/2001/XMLSchema-instance"> <ANode> <BNode> <CNode> <Example> <Name>John</Name> <NO>001</NO> </Example> </CNode> </BNode> <ID>1234</ID> <Date>2011-10-01</Date> </ANode> <ANode> <BNode> <CNode> <Example> <Name>Mike</Name> <NO>002</NO> </Example> </CNode> </BNode> <ID>5678</ID> <Date>2011-03-31</Date> </ANode></Element>
这是获取XML文档中每个找到的ANode中节点Name和NO的值的代码:
XmlDocument xml = new XmlDocument();xml.LoadXml(myXmlString); //myXmlString is the xml file in string //copying xml to string: string myXmlString = xmldoc.OuterXml.ToString();XmlNodeList xnList = xml.SelectNodes("/Element[@*]/ANode/BNode/CNode");foreach (XmlNode xn in xnList){ XmlNode example = xn.SelectSingleNode("Example"); if (example != null) { string na = example["Name"].InnerText; string no = example["NO"].InnerText; }}
现在,我在获取ID和日期的值时遇到问题。
答案1
小编典典就像您要从中获取某些东西一样,CNode
您也需要为ANode
XmlNodeList xnList = xml.SelectNodes("/Element[@*]");foreach (XmlNode xn in xnList){ XmlNode anode = xn.SelectSingleNode("ANode"); if (anode!= null) { string id = anode["ID"].InnerText; string date = anode["Date"].InnerText; XmlNodeList CNodes = xn.SelectNodes("ANode/BNode/CNode"); foreach (XmlNode node in CNodes) { XmlNode example = node.SelectSingleNode("Example"); if (example != null) { string na = example["Name"].InnerText; string no = example["NO"].InnerText; } } }}
c# – 从XML文件中读取特定的XML元素
<lexicon> <word> <base>a</base> <category>determiner</category> <id>E0006419</id> </word> <word> <base>abandon</base> <category>verb</category> <id>E0006429</id> <ditransitive/> <transitive/> </word> <word> <base>abbey</base> <category>noun</category> <id>E0203496</id> </word> <word> <base>ability</base> <category>noun</category> <id>E0006490</id> </word> <word> <base>able</base> <category>adjective</category> <id>E0006510</id> <predicative/> <qualitative/> </word> <word> <base>abnormal</base> <category>adjective</category> <id>E0006517</id> <predicative/> <qualitative/> </word> <word> <base>abolish</base> <category>verb</category> <id>E0006524</id> <transitive/> </word> </lexicon>
我需要用C#应用程序读取这个文件,如果只有类别是动词,我想打印它的整个元素单词.
我怎样才能做到这一点?
解决方法
var xmlStr = File.ReadAllText("fileName.xml"); var str = XElement.Parse(xmlStr); var result = str.Elements("word"). Where(x => x.Element("category").Value.Equals("verb")).ToList(); Console.WriteLine(result);
c# – 如何从XmlReader创建XML文件?
我以为这将是一个简单的问题,但每当我搜索我似乎是结束阅读文件读者或逐节点编写.
XmlReader对象传达存储在数据库中的xml,只需要从数据库中出来一个文件.有没有办法做到这一点?
sqlCommand dataCmd = new sqlCommand(sqlText,Conn); System.Xml.XmlReader dataReader = null; dataCmd.CommandTimeout = 60000; Conn.open(); dataReader = dataCmd.ExecuteXmlReader(); dataReader.Read();
解决方法
WriteNode
method.
例如:
using (conn) using (sqlCommand dataCmd = new sqlCommand(sqlText,Conn)) { dataCmd.CommandTimeout = 60000; Conn.open(); using (XmlReader dataReader = dataCmd.ExecuteXmlReader()) using (XmlWriter writer = XmlWriter.Create(File.OpenWrite(...)) { writer.WriteNode(dataReader,true); } }
docker swarm如何在指定的node上运行指定的容器
描述问题
比如我们有worker1,worker2,worker3三个docker host另外加一个manager1(它是swarm的master)来管理它们。
如果在manager1上直接docker service create某一个容器的话,比如nginx容器,那么master会来决定挑哪一个node作为nginx容器的运行的host。
如果我要nginx容器只跑在worker1上面的话,应该怎么办呢?
解决方案
简单来说就是给每一个node打标签。
docker node update --label-add func=nginx worker1
上面这句话的意思是master给worker1的docker打上了功能是nginx的标签。func和nginx是你可以自己定的键值对。
然后在运行docker service create 的时候,指定–constraint参数即可
docker service create --name my_nginx --constraint ''node.labels.func == nginx'' nginx
这样nginx的容器就会在worker1上启动,而不会在其他node上启动了。
补充
我的好奇心让我使了一个坏。我把worker1打上func=nginx的标签后,在docker service create的constraint参数上故意写成node.labels.func == nginx111。
这个时候用docker service ls和docker service ps nginx都可以看到service已经注册了,但是它的CURRENT STATE显示Pending , 并且也没有任何分配到node。
我不停止这个service,然后直接把worker2的标签写为nginx111,奇迹般地,在worker2上就自己启动了nginx的容器。master还是很智能的。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
- 使用Docker Swarm 搭建Wordpress的方法
- Docker Swarm实现服务的滚动更新的示例代码
- Docker Swarm从部署到基本操作
- 详解Docker Swarm服务发现和负载均衡原理
- docker swarm 集群故障与异常详解
- Docker使用Swarm组建集群的方法
- Docker Swarm入门实例详解
- 详解使用docker 1.12 搭建多主机docker swarm集群
- 详解Docker Swarm概念与用法
GDataXMLNode解析xml文件
转载请标明出处
欢迎交流
zltqzj@163.com
我是一个单线程妞~
Nsstring* path = [[NSBundle mainBundle] pathForResource:@"StudentXML" ofType:@"xml"]; NSData* data = [[NSData alloc] initWithContentsOfFile:path]; GdataxMLDocument* doc = [[GdataxMLDocument alloc] initWithData:data options:0 error:nil]; GdataxMLElement* root = [doc rootElement];//所有内容 // 取标签中的内容方法:1,路径。2,childAtIndex //(1)路径 NSArray* fistName = [root nodesForXPath:@"//student/name/fistName" error:nil];// 所t有标签为fistName的元素。 NSLog(@"1:%@",[[fistName objectAtIndex:1] stringValue]); // (2)childAtIndex GdataxMLNode* lastName = [[[root childAtIndex:1] childAtIndex:0] childAtIndex:1]; NSLog(@"2:%@",[lastName stringValue]);
代码下载地址:http://download.csdn.net/detail/sijiazhentan/6270435
解析稍微复杂的页面:http://api.hudong.com/iphonexml.do?type=focus-c
代码如下:
#import "ViewController.h" @interface ViewController () @end @implementation ViewController @synthesize recieveData = _recieveData; - (id)initWithNibName:(Nsstring *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self) { // Custom initialization } return self; } - (void)viewDidLoad { [super viewDidLoad]; NSURL* url = [NSURL URLWithString:@"http://api.hudong.com/iphonexml.do?type=focus-c"]; NSURLRequest* request = [NSURLRequest requestWithURL:url]; [NSURLConnection connectionWithRequest:request delegate:self]; // Do any additional setup after loading the view from its nib. } - (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response { _recieveData = [[NSMutableData alloc] init]; } - (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data { [self.recieveData appendData:data]; } - (void)connectionDidFinishLoading:(NSURLConnection *)connection { Nsstring* str = [[Nsstring alloc] initWithData:self.recieveData encoding:NSUTF8StringEncoding]; _recieveData = nil; GdataxMLDocument* doc = [[GdataxMLDocument alloc] initWithXMLString:str options:0 error:nil]; GdataxMLElement* root = [doc rootElement]; NSArray* array =[root nodesForXPath:@"//response/docList/docInfo" error:nil]; for (int i =0; i<array.count; i++) { NSLog(@"每项内容的题目:%@",[[[[array objectAtIndex:i] elementsForName:@"docTitle"] objectAtIndex:0] stringValue] ); } _recieveData = nil; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // dispose of any resources that can be recreated. } @end
今天关于从XML文档获取指定的Node值和如何从xml中获取所有的数据的分享就到这里,希望大家有所收获,若想了解更多关于c# – 从XML文件中读取特定的XML元素、c# – 如何从XmlReader创建XML文件?、docker swarm如何在指定的node上运行指定的容器、GDataXMLNode解析xml文件等相关知识,可以在本站进行查询。
本文标签: