<?xml version="1.0" encoding="utf-8" ?>
<employees>
<employee on="01">
<name>Tom</name>
<sex>男</sex>
<birth>
<year>1982</year>
<month>5</month>
<day>22</day>
</birth>
<sales>
<year>2010</year>
<month>1</month>
<sale>320000</sale>
</sales>
<salary>8600</salary>
</employee>
<employee on="02">
<name>Jack</name>
<sex>男</sex>
<birth>
<year>1981</year>
<month>7</month>
<day>10</day>
</birth>
<sales>
<year>2010</year>
<month>1</month>
<sale>300000</sale>
</sales>
<salary>6000</salary>
</employee>
<employee on="03">
<name>Jennifer</name>
<sex>女</sex>
<birth>
<year>1982</year>
<month>6</month>
<day>22</day>
</birth>
<sales>
<year>2010</year>
<month>1</month>
<sale>500000</sale>
</sales>
<salary>7000</salary>
</employee>
</employees>
=============================================================
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Xml.XPath;
namespace WebApplication
{
public partial class XPathNav : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnNav_Click(object sender, EventArgs e)
{
//创建XPathDocument对象
XPathDocument xdoc = new XPathDocument(Server.MapPath("~/employees.xml"));
//创建Xpath导航
XPathNavigator xnav = xdoc.CreateNavigator();
//装入迭代器(结果)
XPathNodeIterator iterator = xnav.Select("descendant::employee");
string outPut = "";
while(iterator.MoveNext()){
outPut += "员工:" + iterator.Current.SelectSingleNode("name").Value+"<br/>"; //在当前节点下查找单一的节点name的值
outPut += " " + "工资:" + iterator.Current.SelectSingleNode("salary").Value + "<br/>"; // 在当前节点下查找单一的节点salary的值
outPut += "<hr>";
}
outPut += "<hr>";
Int32 avgSal = (Int32)(Double)xnav.Evaluate("sum(//employee/salary) div count(//employee)");
outPut += "平均工资:¥"+avgSal.ToString();
this.divOut.InnerHtml = outPut;
}
}
}
===================================================================
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="XPathNav.aspx.cs" Inherits="WebApplication.XPathNav" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Button runat="server" ID="btnNav" Text="Navigate" OnClick="btnNav_Click" />
<div runat="server" id="divOut">
</div>
</div>
</form>
</body>
</html>
=================================================================
- HTTPS证书申请相关笔记
申请免费的HTTPS证书相关资料 参考资料: HTTPS 检测 苹果ATS检测 什么是ECC证书? 渠道2: Let's Encrypt 优点 缺点 Let's Encrypt 的是否支持非80,44 ...
- JNI相关笔记 [TOC]
JNI相关笔记 目录 JNI相关笔记 1 生成native code所需要的头文件 2 JNI提供的一些函数和方法 3 局部引用,全局引用,全局弱引用. 4 异常 1 生成native code所需要 ...
- Xpath学习笔记
最近复习自己上一年的课本,想起来刚学那个时候想做一个写日记的软件. 想不如做,用控制台瞎写了一个,一做就成了,没什么bug,期间使用Xpath来读数据,所以就稍微学了一下. 学习过程就这样做一点笔记, ...
- Hadoop相关笔记
一. Zookeeper( 分布式协调服务框架 ) 1. Zookeeper概述和集群搭建: (1) Zookeeper概述: Zookeeper 是一个分布式 ...
- XPath路径表达式笔记(转载)
简单说,xpath就是选择XML文件中节点的方法. 所谓节点(node),就是XML文件的最小构成单位,一共分成7种. - element(元素节点)- attribute(属性节点)- text ( ...
- redis相关笔记(二.集群配置及使用)
redis笔记一 redis笔记二 redis笔记三 1.配置:在原redis-sentinel文件夹中添加{8337,8338,8339,8340}文件夹,且复制原8333中的配置 在上述8333配 ...
- redis相关笔记(三.redis设计与实现(笔记))
redis笔记一 redis笔记二 redis笔记三 1.数据结构 1.1.简单动态字符串: 其属性有int len:长度,int free:空闲长度,char[] bur:字符数组(内容) 获取字符 ...
- Windows API 进程相关笔记
0. 前言 最近做了一个进程信息相关的项目,整理了一下自己做项目时的笔记,分享给大家 1. 相关概念 1.1 HANDLE 概念 HANDLE(句柄)是Windows操作系统中的一个概念. 在Wind ...
- PHP相关笔记
扩展包(相关链接):https://packagist.org/: 插件postman主要应用于web开发时get.post请求时查看其响应:
随机推荐
- JS中转义字符的处理
//去掉html标签 1 2 3 function removeHtmlTab(tab) { return tab.replace(/<[^<>]+?>/g,'');//删除 ...
- C++中的异常
一,异常的推演 1.函数与异常 平时我们在函数中出现异常情况时通常通过return终止函数并返回一个值,然后在函数上层来获取值并判断是什么异常情况.因为函数是栈结构的,所以return的时候是通过栈结 ...
- MyBatis:打印SQL 日志
配置Log4J比较简单, 比如需要记录这个mapper接口的日志: package org.mybatis.example; public interface BlogMapper { @Select ...
- jq,js简单实现类似Angular.js数据绑定效果
刚了解了下Angular.js,发现Angular.js绑定数据方面非常方便,套下教程demo: <div ng-app="myApp" ng-controller=&quo ...
- Debian 8 安装BtSync
声明,此方法是Btsync的官网resilio提供的方法 传送门:https://help.getsync.com/hc/en-us/articles/206178924 第一,在如下文件中添加: 1 ...
- hibernate-部分字段查询方案
hibernate的延迟加载与本列记录不一样,延迟加载正常一般用于关联字段,或者大型字段使用. 本列的情况主要用于,某一张表有几十甚至上百个字段,例如财务报表等.但是在使用某些场景是却大多只是用其10 ...
- 使用百度富文本编辑器UEditor碰到的问题
前面使用的是kindEditor,但是发现这个已经不再维护,并且bug不少,而我又不会改,哈哈,所以我就放弃了. 原来想过要用百度的这个UEditor,但是在配置的时候遇到了很多问题,基本上加载不出来 ...
- 创建TreeView控件
第一种方式 hwndTreeView=CreateWindow("SysTreeView32", NULL,WS_CHILD|WS_VISIBLE|TVS_HASLINES|TVS ...
- [DP之树形DP]
树形dp出了应该还是比计数dp要简单的 因为很好可以看出来 常用的是一个F记录子树内的 一个G记录子树外的 还有一种就是有环的做过要用状压搞一下 不说这么多直接上例题 [HAOI2015]T1 经典的 ...
- 【原生js】js动态添加dom,如何绑定事件
首先要明白浏览器在加载页面的时候是按顺序来加载的,这样以来就很清楚了,js动态添加dom以后,这些dom并没有绑定事件,这个时候最简单的一个办法就是:将绑定事件的方法封装到一个函数A中,在动态添加完d ...