我已将xml作为字符串加载到DataTable中。
这是我当前用于遍历DataTable中的行的代码:
foreach (DataTable table in ds.Tables)
{
foreach (DataRow row in table.Rows)
{
XmlDocument auction_31_xml = new XmlDocument();
if(!string.IsNullOrEmpty(row[auctions_31].ToString()))
{
auction_31_xml.LoadXml(row[auctions_31].ToString());
var x = auction_31_xml.SelectNodes("//AUCTION[AUCTION_DATE>20070111 and AUCTION_DATE<2013930]");
auction_count_31 += x.Count;
}
}
}
这是XML的结构:
<AUCTIONS>
<AUCTION AUCTION_ID="235342">
<AUCTION_DATE>2007-06-29</AUCTION_DATE>
<AUCTION_TIME>12:00P</AUCTION_TIME>
<RENTAL_AUCTION_STATUS>1</RENTAL_AUCTION_STATUS>
<UNIT_CONTENTS/>
<SOLD_AMOUNT/>
<TAX_COLLECTED/>
<BUYER_TAX_EXEMPT/>
<BUYER_TAX_EXEMPT_NUM/>
<SOLD_TO>Unavailable</SOLD_TO>
<NOTES/>
</AUCTION>
<AUCTION AUCTION_ID="228371">
<AUCTION_DATE>2006-11-30</AUCTION_DATE>
<AUCTION_TIME>04:30PM</AUCTION_TIME>
<RENTAL_AUCTION_STATUS>1</RENTAL_AUCTION_STATUS>
<UNIT_CONTENTS/>
<SOLD_AMOUNT/>
<TAX_COLLECTED/>
<BUYER_TAX_EXEMPT/>
<BUYER_TAX_EXEMPT_NUM/>
<SOLD_TO>Unavailable</SOLD_TO>
<NOTES/>
</AUCTION>
我想做的是获取2007年1月11日至2013年9月30日之间所有具有AUCTION_DATE的AUCTION元素的计数。
我拥有的XPATH表达式是:
var x = auction_31_xml.SelectNodes("//AUCTION[AUCTION_DATE>20070111 and AUCTION_DATE<2013930]");
任何帮助将不胜感激。
参考方案
您需要使用number(translate(the_date,'-',''))
将XML中的日期转换为与比较的数字具有相同格式的数字:
//AUCTION
[
number(translate(AUCTION_DATE,'-',''))>20070111
and
number(translate(AUCTION_DATE,'-',''))<20130930
]
给定此问题中的输入XML,XPath上方(仅出于可读性考虑而对其进行格式化)能够返回XPath测试器中的第一个<AUCTION>
节点。
我有一个包含成员Predicate的类,希望在Linq表达式中使用该类:using System.Linq; class MyClass { public bool DoAllHaveSomeProperty() { return m_instrumentList.All(m_filterExpression); } private IEnumerable&…
合并List <T>和List <Optional <T >> - java鉴于: List<Integer> integers = new ArrayList<>(Arrays.asList( 10, 12 )); List<Optional<Integer>> optionalIntegers = Arrays.asList( Optional.of(5), Optional.em…
无法从ArrayList <String>转换为List <Comparable> - java当我写下面的代码时,编译器说 无法从ArrayList<String>转换为List<Comparable>private List<Comparable> get(){ return new ArrayList<String>(); } 但是当我用通配符编写返回类型时,代码会编译。private List&l…
客户端反序列化为数组序列化字典<string,string>数据 - c#我有一个字典,该字典使用C#中的JavaScriptSerializer进行了序列化。在客户端,我有:"{"dd049eda-e289-4ca2-8841-4908f94d5b65":"2","ab969ac2-320e-42e1-b759-038eb7f57178":"5…
OpenShift构建错误:无法在多模块Maven Spring启动项目的父模块中导入子模块类 - java我有一个使用spring的多模块Maven项目。通用模块类用作业务模块项目中的直接导入。我可以在本地PC上编译并成功运行它们。当我在OpenShift中部署相同的模块时,出现错误,无法在业务模块中导入通用模块类。项目结构可以总结如下:项目根 通用模块 src pom.xml 业务模块 src pom.xml pom.xml父POM:<?xml vers…