Tag: xml

循环遍历XML文档

我的XML文件结构如下所示: George Dsouza 320000 22 Jackie Parera 300000 19 … 我想使用XmlDocument将所有数据作为雇员记录放入数据库。 所以我写了一个这样的循环: XmlDocument xdcDocument = new XmlDocument(); xdcDocument.Load(@”D:\SalaryDetails.xml”); XmlElement xelRoot = xdcDocument.DocumentElement; XmlNodeList xnlNodes = xelRoot.SelectNodes(“/SalaryDetails/Employee”); foreach(XmlNode xndNode in xnlNodes) { //What to write here?? //My sql insert command will go here } AnnualSalary和DaysWorked是整数。

XML命名空间和XPath

我有一个应用程序,必须根据XPath加载XML文档和输出节点。 假设我从这样的文档开始: …[many nodes here]… text …[many nodes here]… text …[many nodes here]… 使用XPath //bbb 到目前为止一切都很好。 并选择doc.SelectNodes(“//bbb”); 返回所需节点的列表。 然后有人上传一个文档,其中包含一个节点,如和根标签中的额外命名空间,一切都会中断。 为什么? //bbb对myfancynamespace ,理论上它甚至应该对//myfancynamespace:foo ,因为没有歧义,但表达式返回0结果,就是这样。 这种行为有解决方法吗? 我确实有一个文档的命名空间管理器,我将它传递给Xpath查询。 但我不知道命名空间和前缀,所以我无法在查询之前添加它们。 在进行任何选择之前,是否必须预先解析文档以填充命名空间管理器? 为什么在地球上这样的行为,它只是没有意义。 编辑: 我正在使用: XmlDocument和XmlNamespaceManager EDIT2: XmlDocument doc = new XmlDocument(); doc.XmlResolver = null; XmlNamespaceManager nsmgr = new XmlNamespaceManager(doc.NameTable); //I wish I could: //nsmgr.AddNamespace(“magic”, “http://magicnamespaceuri/ //… doc.LoadXML(usersuppliedxml); XmlNodeList nodes […]

XML解析检查属性是否存在

我已经创建了一个方法来检查XML文件中是否存在属性。 如果它不存在则返回“False”。 它可以工作,但解析文件需要很长时间。 它似乎读取每一行的整个文件。 我错过了什么吗? 我能以某种方式使它更有效吗? public static IEnumerable getXML(string XMLpath) { XDocument xmlDoc = XDocument.Load(“spec.xml”); var specs = from spec in xmlDoc.Descendants(“spec”) select new RowData { number= (string)spec.Attribute(“nbr”), name= (string)spec.Attribute(“name”).Value, code = (string)spec.Attribute(“code”).Value, descr = (string)spec.Attribute(“descr”).Value, countObject = checkXMLcount(spec), return specs; } public static string checkXMLcount(XElement x) { Console.WriteLine(x.Attribute(“nbr”).Value); Console.ReadLine(); try { if (x.Attribute(“mep_count”).Value […]

如何将XML文件内容映射到C#对象

我是C#的新手,我正在尝试读取XML文件并将其内容传输到C#对象。 例如,一个示例XML文件可能是: Person 1 21 Person 2 22 ..可以映射到一个名为’Person’的C#类数组: Person[] people; Person对象可以包含以下字段: string name; uint age;

C#类库方法摘要未在vb.net项目的intellisense中显示

(VS 2008)我正在为我的VB.NET项目使用C#库。 并且方法摘要/注释或它们被称为什么不会在intellisense中显示。 这应该是那样的吗? 或者我必须做些什么来解决它? 如果没有,VS 2010能否做到这一点? 编辑:仍未解决。 现在构建库dll + xml文件,但是如何在我的vb项目中导入xml文件? 见图: http : //i52.tinypic.com/25kh5xw.png

在方法/数据成员中添加对WCF的限制

我是WCF的新手,我尝试向数据成员添加限制。 例如,这种方法: [DataMember] public string StringValue { get { return stringValue; } set { stringValue = value; } } 我想设置最大和最小长度。 我知道如何将限制添加到XML代码中 但有没有办法直接从代码中添加限制?

如何使用“路径”查询XDocument?

我想查询给定路径的XDocument对象,(例如“/ path / to / element / I / want”)但我不知道如何继续。

检查XML节点是否具有Linq C#的属性?

如何查看节点是否确实具有某个属性? 我有一个包含几个节点的XML文件,如下所示: 到现在为止还挺好。 问题是这个结构即将改为某些节点如下所示: 现在,当PrefixValue存在时,我应该将该属性中的值添加到字符串中,这并不是很困难,但是当我尝试查看PrefixValue属性是否完全存在时,我遇到了一些问题节点。 在不存在PrefixValue的情况下,节点中根本不存在属性PrefixValue。 我如何检查该属性是否与Linq表达式一起存在?

如何确定XElement.Elements()是否包含具有特定名称的节点?

例如,对于以下XML 1254 City1 State 我可能想知道XElement是否包含“City”节点。

构建JSON配置节

有没有办法让配置部分用JSON而不是XML编写? 假设我有以下ConfigurationSection : public class UsersConfig : ConfigurationSection { [ConfigurationProperty(“users”, IsRequired = false)] public UserCollection Users { get { return this[“users”] as UserCollection; } } } [ConfigurationCollection(typeof(UserElement), AddItemName = “user”] public class UsersCollection : ConfigurationElementCollection { protected override ConfigurationElement CreateNewElement() { return new UserElement(); } protected override object GetElementKey(ConfigurationElement element) { return ((UserElement)element).Name; } } […]