Java基础 day29笔记
1、XML
2、DOM4J
###01IXML概述.avi(02:49)
XML(EXtensible Markup Language)可扩展的标记语言。主要用于数据交换。在HTML发展过程中,由于游览器厂商的恶性竞争,都在兼容不规范的写法,以用来吸引开发者。这与W3C的初衷相违背。于是W3C制定了XML标准,想以此替代HTML进行数据展示。但此并不能吸引开发者,XML最终以失败告终。XML接着又向数据交互方向寻求生存之路,并在此取得一定的成功。现主要功能用于配置文件跟网络中进行数据交互。Output操作
###02XML与HTML的区别
-
XML标签都是自定义的,HTML标签都是预定义的
-
XML的语法严格,HTML语法松散
-
XML存储数据的,HTML展示数据的
###03XML语法规则
- XML文件的后缀必须都是xml
- XML第一行必须写文档声明
- XML中有且仅有一个根标签
- 属性值必须使用引号,单引号、双引号都可以
- 标签必须正确关闭,要么成对标签,要么自闭合
- XML区分大小写
###04XML组成
-
A: 文档声明
-
a:格式:
<?xml 属性列表 ?>
b:属性列表
属性 含义 version 版本号,必须属性 encoding 编码方式,告知解析引擎当前文档使用的字符集,默认ISO-8859-1 standalone 是否独立,取值yes表示不依赖其它文件,取值no表示依赖其它文件 c:例子:<?xml version="1.0" encoding="UTF-8"?>
-
-
B:指令
* demo.xml
<?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/css" href="test.css" ?><!-- 属性:键值对--><!-- 对标签 --><user><name>李四</name><age>28</age><sex>女</sex> </user><user><name>赵恩阳</name><age>22</age><sex>男</sex> </user><!-- 单标签,自闭合,就不能在继续嵌套内容了。 --> <user /> <!-- 文本 --> <code >hello,今天上山打老虎.
 </code><code><![CDATA[if(a<5 && a>2){} ]]> </code> </users>
* test.css
@CHARSET "UTF-8"; name{color:red; }
-
C:标签
xml中还可以自定义标签,有如下规则:
- 名称可以包含字母,数字以及其它字符
- 不能以数字或者标点符号开头
- 名称不能以xml或者XML、Xml等等开始
- 名称不能包含空格
-
D:属性
标签内还可以定义属性,主要以K-V对的形式,属性值必须使用引号,单引号、双引号都行。id属性值唯一。
-
E:文本与注释
-
标签对中还可以定义文本内容。文本中如果用到需要转义的字符则需要转义,比如:
< (<)
` 、&(&)
、>(>)
。 -
CDATA区中的文本会原样输出,特殊字符不需要转义。
<![CDATA[ ]]>
-
xml中的注释同HTML,
<!-- -->
-
###05约束
-
A: 分类
- XML的约束主要分为dtd跟schema两种。dtd是一种简单的约束技术,已经过时。schema是一种复杂的约束技术,功能更加强大。
-
B:DTD的使用
-
a: 外部DTD
将DTD的约束规则定义在外部的dtd文件中。根据外部的dtd文件的位置又有本地DTD跟网络DTD之分。
-
本地DTD
-
<!DOCTYPE 根标签名 SYSTEM "dtd文件的位置" >
-
student.xml
<?xml version="1.0" encoding="UTF-8" ?>six16girlseven23boy -
student.dtd
* 网络DTD
`内部DTD
* DTD的约束还可以直接定义在xml文件中。
<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/css" href="test.css" ?> <!ELEMENT student (name,age,sex) ><!ELEMENT name (#PCDATA) ><!ELEMENT age (#PCDATA) ><!ELEMENT sex (#PCDATA) ><!ATTLIST student number ID #REQUIRED ><!ELEMENT code (#PCDATA) >]>
<student number = "blb_1"><name>张三</name><age>18</age><sex>男</sex></student><student number = "blb_2" ><name>李四</name><age>28</age><sex>女</sex></student><student number = "blb_3"><name>赵恩阳</name><age>22</age><sex>男</sex></student>
###06schema
-
由于DTD不能对数据内容进行约束,我们可以使用另一种功能更加强大的技术:schema。
-
schema的导入
我们先看一个简单的使用schema的规则(student.xml)<?xml version="1.0" encoding="UTF-8"?>
<a:students xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”
xmlns:a=“http://www.blb.com/xml”
xsi:schemaLocation=“http://www.blb.com/xml student.xsd”<a:student number=“blb_0001”>
<a:name>six</a:name>
<a:age>111</a:age>
<a:sex>boy</a:sex>
</a:student></a:students>
-
-
- schema文件的后缀是xsd。
- schema的导入信息都是写在根标签中的。
- 在根标签中需要引入xsi的前缀
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- 通过
xsi:schemaLocation
指定要使用的schema文件(student.xsd
),并且给这个文件取一个别名http://www.blb.com/xml
- 通过
xmlns:命名空间
给这个别名命名一个命名空间的前缀,定义了前缀以后标签需要加上前缀 - 可以不设置命名空间,则标签默认来自此xsd文件,如果有多个schema文件,只能有1个默认。
schema的定义
<?xml version="1.0" ?><xsd:schema xmlns=“http://www.blb.com/xml”
xmlns:xsd=“http://www.w3.org/2001/XMLSchema”
targetNamespace=“http://www.blb.com/xml” elementFormDefault=“qualified”>
<xsd:element name="students" type="studentsType" />
<xsd:complexType name="studentsType"><xsd:sequence><!-- 标签student,类型是自定义类型studentType 最少出现次数是1,最多次数不限 --><xsd:element name="student" type="studentType" minOccurs="1"maxOccurs="unbounded" /></xsd:sequence>
</xsd:complexType>
<xsd:complexType name="studentType"><xsd:sequence><!-- name标签是字符串类型 --><xsd:element name="name" type="xsd:string" /><!-- age标签是自定义类型ageType --><xsd:element name="age" type="ageType" /><!-- sex标签是自定义类型sexType --><xsd:element name="sex" type="sexType" /></xsd:sequence><!-- 属性number,类型是自定义类型numberType,且为必须的 --><xsd:attribute name="number" type="numberType" use="required" />
</xsd:complexType><!-- sexType自定义类型 -->
<xsd:simpleType name="sexType"><xsd:restriction base="xsd:string"><!-- 枚举:值只能是boy或者girl --><xsd:enumeration value="boy" /><xsd:enumeration value="girl" /></xsd:restriction>
</xsd:simpleType>
<!-- 自定义类型ageType 范围从0-300之间 -->
<xsd:simpleType name="ageType"><xsd:restriction base="xsd:integer"><xsd:minInclusive value="0" /><xsd:maxInclusive value="300" /></xsd:restriction>
</xsd:simpleType>
<!-- 自定义numberType类型,必须以blb_开头,后面跟4位数字 -->
<xsd:simpleType name="numberType"><xsd:restriction base="xsd:string"><xsd:pattern value="blb_\d{4}" /></xsd:restriction>
</xsd:simpleType>
</xsd:schema>
文章目录
- * 网络DTD
- schema的导入
- 1、DOM4J简介
- 2、XML文档操作1
- 2.1、读取XML文档:
- 2.2、获取根节点
- 2.3、. 新增一个节点以及其下的子节点与数据
- 2.4、 写入XML文件
- 2. 5、 遍历xml节点
- 2.6、创建xml文件
- 2.7、修改节点属性
- 2.8、删除节点
- 2、XML文档操作2
- 2.1、Document对象相关
- 1、读取XML文件,获得document对象.
- 2、解析XML形式的文本,得到document对象.
- 3、主动创建document对象.
- 2.2、节点相关
- 1、获取文档的根节点.
- 2、取得某节点的单个子节点.
- 3.取得节点的文字
- 4.取得某节点下指定名称的所有节点并进行遍历.
- 5.对某节点下的所有子节点进行遍历.
- 6.在某节点下添加子节点.
- 7.设置节点文字.
- 8.删除某节点.
- 9.添加一个CDATA节点.
- 2.3、属性相关.
- 1.取得节点的指定的属性
- 2.取得属性的文字
- 3.遍历某节点的所有属性
- 4.设置某节点的属性和文字.
- 5.设置属性的文字
- 6.删除某属性
- 2.4、将文档写入XML文件.
- 1.文档中全为英文,不设置编码,直接写入.
- 2.文档中含有中文,设置编码格式再写入.
- 2.5、字符串与XML的转换
- 1.将字符串转化为XML
- 2.将文档或节点的XML转化为字符串.
- 3、dom4j的事件处理模型涉及的类和接口:
- 3.1、类:SAXReader
- 3.2、接口ElementHandler
- 3.3、Element类
- 3.4、类DocumentHelper
- 4、通过xpath查找指定的节点
- 4.1、 xpath语法
- 1、选取节点
- 2、谓语(Predicates)
- 3、选取未知节点
- 4、选取若干路径
- 5、XPath 轴
- 6、路径
- 7、XPath 运算符
1、DOM4J简介
- DOM4J是 dom4j.org 出品的一个开源 XML 解析包。DOM4J应用于 Java 平台,采用了 Java 集合框架并完全支持 DOM,SAX 和 JAXP。
- DOM4J 使用起来非常简单。只要你了解基本的 XML-DOM 模型,就能使用。
- Dom:把整个文档作为一个对象。
- DOM4J 最大的特色是使用大量的接口。它的主要接口都在org.dom4j里面定义:
Attribute | 定义了 XML 的属性。 |
---|---|
Branch | 指能够包含子节点的节点。如XML元素(Element)和文档(Docuemnts)定义了一个公共的行为 |
CDATA | 定义了 XML CDATA 区域 |
CharacterData | 是一个标识接口,标识基于字符的节点。如CDATA,Comment, Text. |
Comment | 定义了 XML 注释的行为 |
Document | 定义了XML 文档 |
DocumentType | 定义 XML DOCTYPE 声明 |
Element | 定义XML 元素 |
ElementHandler | 定义了Element 对象的处理器 |
ElementPath | 被 ElementHandler 使用,用于取得当前正在处理的路径层次信息 |
Entity | 定义 XML entity |
Node | 为dom4j中所有的XML节点定义了多态行为 |
NodeFilter | 定义了在dom4j 节点中产生的一个滤镜或谓词的行为(predicate) |
ProcessingInstruction | 定义 XML 处理指令 |
Text | 定义 XML 文本节点 |
Visitor | 用于实现 Visitor模式 |
XPath | 在分析一个字符串后会提供一个 XPath 表达式 |
接口之间的继承关系如下:
interface java.lang.Cloneableinterface org.dom4j.Nodeinterface org.dom4j.Attributeinterface org.dom4j.Branchinterface org.dom4j.Documentinterface org.dom4j.Elementinterface org.dom4j.CharacterDatainterface org.dom4j.CDATAinterface org.dom4j.Commentinterface org.dom4j.Textinterface org.dom4j.DocumentTypeinterface org.dom4j.Entityinterface org.dom4j.ProcessingInstruction
2、XML文档操作1
2.1、读取XML文档:
读写XML文档主要依赖于org.dom4j.io包,有DOMReader和SAXReader两种方式。因为利用了相同的接口,它们的调用方式是一样的。
public static Document load(String filename) {Document document = null;try {SAXReader saxReader = new SAXReader();document = saxReader.read(new File(filename)); // 读取XML文件,获得document对象} catch (Exception ex) {ex.printStackTrace();}return document;}public static Document load(URL url) {Document document = null;try {SAXReader saxReader = new SAXReader();document = saxReader.read(url); // 读取XML文件,获得document对象} catch (Exception ex) {ex.printStackTrace();}return document;}
//读取指定的xml文件之后返回一个Document对象,这个对象代表了整个XML文档,用于各种Dom运算。执照XML文件头所定义的编码来转换。
2.2、获取根节点
根节点是xml分析的开始,任何xml分析工作都需要从根开始
Xml xml = new Xml();Document dom = xml.load(path + "/" + file);Element root = dom.getRootElement();
2.3、. 新增一个节点以及其下的子节点与数据
Element menuElement = root.addElement("menu");Element engNameElement = menuElement.addElement("engName");engNameElement.setText(catNameEn);Element chiNameElement = menuElement.addElement("chiName");chiNameElement.setText(catName);
2.4、 写入XML文件
注意文件操作的包装类是乱码的根源
public static boolean doc2XmlFile(Document document, String filename) {boolean flag = true;try {XMLWriter writer = new XMLWriter(new OutputStreamWriter(new FileOutputStream(filename), "UTF-8"));writer.write(document);writer.close();} catch (Exception ex) {flag = false;ex.printStackTrace();}System.out.println(flag);return flag;}
Dom4j通过XMLWriter将Document对象表示的XML树写入指定的文件,并使用OutputFormat格式对象指定写入的风格和编码方法。调用OutputFormat.createPrettyPrint()方法可以获得一个默认的pretty print风格的格式对象。对OutputFormat对象调用setEncoding()方法可以指定XML文件的编码方法。
public void writeTo(OutputStream out, String encoding)throws UnsupportedEncodingException, IOException {OutputFormat format = OutputFormat.createPrettyPrint();format.setEncoding("gb2312");XMLWriter writer = new XMLWriter(System.out, format);writer.write(doc);writer.flush();return;}
2. 5、 遍历xml节点
对Document对象调用getRootElement()方法可以返回代表根节点的Element对象。拥有了一个Element对象后,可以对该对象调用elementIterator()方法获得它的子节点的Element对象们的一个迭代器。使用(Element)iterator.next()方法遍历一个iterator并把每个取出的元素转化为Element类型。
public boolean isOnly(String catNameEn, HttpServletRequest request,String xml) {boolean flag = true;String path = request.getRealPath("");Document doc = load(path + "/" + xml);Element root = doc.getRootElement();for (Iterator i = root.elementIterator(); i.hasNext();) {Element el = (Element) i.next();if (catNameEn.equals(el.elementTextTrim("engName"))) {flag = false;break;}}return flag;
}
2.6、创建xml文件
public static void main(String args[]) {String fileName = "c:/text.xml";Document document = DocumentHelper.createDocument();// 建立document对象,用来操作xml文件Element booksElement = document.addElement("books");// 建立根节点booksElement.addComment("This is a test for dom4j ");// 加入一行注释Element bookElement = booksElement.addElement("book");// 添加一个book节点bookElement.addAttribute("show", "yes");// 添加属性内容Element titleElement = bookElement.addElement("title");// 添加文本节点titleElement.setText("ajax in action");// 添加文本内容try {XMLWriter writer = new XMLWriter(new FileWriter(new File(fileName)));writer.close();} catch (Exception e) {e.printStackTrace();}}
2.7、修改节点属性
public static void modifyXMLFile() {String oldStr = "c:/text.xml";String newStr = "c:/text1.xml";Document document = null;//修改节点的属性try {SAXReader saxReader = new SAXReader(); // 用来读取xml文档document = saxReader.read(new File(oldStr)); // 读取xml文档List list = document.selectNodes("/books/book/@show");// 用xpath查找节点book的属性Iterator iter = list.iterator();while (iter.hasNext()) {Attribute attribute = (Attribute) iter.next();if (attribute.getValue().equals("yes")) attribute.setValue("no");}} catch (Exception e) {e.printStackTrace();}//修改节点的内容try {SAXReader saxReader = new SAXReader(); // 用来读取xml文档document = saxReader.read(new File(oldStr)); // 读取xml文档List list = document.selectNodes("/books/book/title");// 用xpath查找节点book的内容Iterator iter = list.iterator();while (iter.hasNext()) {Element element = (Element) iter.next();element.setText("xxx");// 设置相应的内容}} catch (Exception e) {e.printStackTrace();}try {XMLWriter writer = new XMLWriter(new FileWriter(new File(newStr)));writer.write(document);writer.close();} catch (Exception ex) {ex.printStackTrace();}
}
2.8、删除节点
public static void removeNode() {String oldStr = "c:/text.xml";String newStr = "c:/text1.xml";Document document = null;try {SAXReader saxReader = new SAXReader();// 用来读取xml文档document = saxReader.read(new File(oldStr));// 读取xml文档List list = document.selectNodes("/books/book");// 用xpath查找对象Iterator iter = list.iterator();while (iter.hasNext()) {Element bookElement = (Element) iter.next();// 创建迭代器,用来查找要删除的节点,迭代器相当于指针,指向book下所有的title节点Iterator iterator = bookElement.elementIterator("title");while (iterator.hasNext()) {Element titleElement = (Element) iterator.next();if (titleElement.getText().equals("ajax in action")) {bookElement.remove(titleElement);}}}} catch (Exception e) {e.printStackTrace();}try {XMLWriter writer = new XMLWriter(new FileWriter(new File(newStr)));writer.write(document);writer.close();} catch (Exception ex) {ex.printStackTrace();}}
2、XML文档操作2
2.1、Document对象相关
1、读取XML文件,获得document对象.
SAXReader reader = new SAXReader(); Document document = reader.read(new File("input.xml"));
2、解析XML形式的文本,得到document对象.
String text = "<members></members>"; Document document = DocumentHelper.parseText(text);
3、主动创建document对象.
Document document = DocumentHelper.createDocument(); Element root = document.addElement("members");// 创建根节点
2.2、节点相关
1、获取文档的根节点.
Element rootElm = document.getRootElement();
2、取得某节点的单个子节点.
Element memberElm=root.element("member");// "member"是节点名
3.取得节点的文字
String text=memberElm.getText();
String text=root.elementText("name");这个是取得根节点下的name字节点的文字.
4.取得某节点下指定名称的所有节点并进行遍历.
List nodes = rootElm.elements("member");
for (Iterator it = nodes.iterator(); it.hasNext();) { Element elm = (Element) it.next(); // do something
}
5.对某节点下的所有子节点进行遍历.
for(Iterator it=root.elementIterator();it.hasNext();){ Element element = (Element) it.next(); // do something }
6.在某节点下添加子节点.
Element ageElm = newMemberElm.addElement("age");
7.设置节点文字.
ageElm.setText("29");
8.删除某节点.
parentElm.remove(childElm); // childElm是待删除的节点,parentElm是其父节点
9.添加一个CDATA节点.
Element contentElm = infoElm.addElement("content"); contentElm.addCDATA(diary.getContent());
2.3、属性相关.
1.取得节点的指定的属性
Element root=document.getRootElement(); Attribute attribute=root.attribute("size"); // 属性名name
2.取得属性的文字
String text=attribute.getText();
String text2=root.element("name").attributeValue("firstname");
//这个是取得根节点下name字节点的firstname属性的值.
3.遍历某节点的所有属性
Element root=document.getRootElement();
for(Iterator it=root.attributeIterator();it.hasNext();){
Attribute attribute = (Attribute) it.next();
String text=attribute.getText();
System.out.println(text);
}
4.设置某节点的属性和文字.
newMemberElm.addAttribute("name", "sitinspring");
5.设置属性的文字
Attribute attribute=root.attribute("name"); attribute.setText("sitinspring");
6.删除某属性
Attribute attribute=root.attribute("size");// 属性名name root.remove(attribute);
2.4、将文档写入XML文件.
1.文档中全为英文,不设置编码,直接写入.
XMLWriter writer = new XMLWriter(new FileWriter("output.xml"));
writer.write(document);
writer.close();
2.文档中含有中文,设置编码格式再写入.
OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding("GBK"); // 指定XML编码
XMLWriter writer = new XMLWriter(new FileWriter("output.xml"),format);
writer.write(document);
writer.close();
2.5、字符串与XML的转换
1.将字符串转化为XML
String text = "<members> <member>sitinspring</member> </members>";
Document document = DocumentHelper.parseText(text);
2.将文档或节点的XML转化为字符串.
SAXReader reader = new SAXReader();
Document document = reader.read(new File("input.xml"));
Element root=document.getRootElement();
String docXmlText=document.asXML();
String rootXmlText=root.asXML();
Element memberElm=root.element("member");
String memberXmlText=memberElm.asXML();
3、dom4j的事件处理模型涉及的类和接口:
3.1、类:SAXReader
当解析到path指定的路径时,将调用参数handler指定的处理器。针对不同的节点可以添加多个handler实例。或者调用默认的Handler setDefaultHandler(ElementHandler handler);
3.2、接口ElementHandler
该方法在解析到元素的开始标签时被调用。
该方法在解析到元素的结束标签时被调用
3.3、接口:ElementPath (假设有参数:ElementPath path)
该方法与SAXReader类中的addHandler()方法的作用相同。路径path可以是绝对路径(路径以/开头),也可以是相对路径(假设是当前路径的子节点路径)。
移除指定路径上的ElementHandler实例。路径可以是相对路径,也可以是绝对路径。
该方法得到当前节点的路径。该方法返回的是完整的绝对路径
该方法得到当前节点。
3.3、Element类
getQName() | 元素的QName对象 |
---|---|
getNamespace() | 元素所属的Namespace对象 |
getNamespacePrefix() | 元素所属的Namespace对象的prefix |
getNamespaceURI() | 元素所属的Namespace对象的URI |
getName() | 元素的local name |
getQualifiedName() | 元素的qualified name |
getText() | 元素所含有的text内容,如果内容为空则返回一个空字符串而不是null |
getTextTrim() | 元素所含有的text内容,其中连续的空格被转化为单个空格,该方法不会返回null |
attributeIterator() | 元素属性的iterator,其中每个元素都是Attribute对象 |
attributeValue() | 元素的某个指定属性所含的值 |
elementIterator() | 元素的子元素的iterator,其中每个元素都是Element对象 |
element() | 元素的某个指定(qualified name或者local name)的子元素 |
elementText() | 元素的某个指定(qualified name或者local name)的子元素中的text信息 |
getParent | 元素的父元素 |
getPath() | 元素的XPath表达式,其中父元素的qualified name和子元素的qualified name之间使用"/"分隔 |
isTextOnly() | 是否该元素只含有text或是空元素 |
isRootElement() | 是否该元素是XML树的根节点 |
3.4、类DocumentHelper
DocumentHelper 是用来生成生成 XML 文档的工厂类
4、通过xpath查找指定的节点
采用xpath查找需要引入jaxen-xx-xx.jar,否则会报java.lang.NoClassDefFoundError: org/jaxen/JaxenException异常。
List list=document.selectNodes("/books/book/@show");
4.1、 xpath语法
1、选取节点
XPath 使用路径表达式在 XML 文档中选取节点,节点是沿着路径或者 step 来选取的。
常见的路径表达式:
表达式 | 描述 |
---|---|
nodename | 选取当前节点的所有子节点 |
/ | 从根节点选取 |
// | 从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置 |
. | 选取当前节点 |
… | 选取当前节点的父节点 |
@ | 选取属性 |
实例
路径表达式 | 结果 |
---|---|
bookstore | 选取 bookstore 元素的所有子节点 |
/bookstore | 选取根元素 bookstore |
bookstore/book | 选取bookstore 下名字为 book的所有子元素。 |
//book | 选取所有 book 子元素,而不管它们在文档中的位置。 |
bookstore//book | 选取bookstore 下名字为 book的所有后代元素,而不管它们位于 bookstore 之下的什么位置。 |
//**@**lang | 选取所有名为 lang 的属性。 |
2、谓语(Predicates)
谓语用来查找某个特定的节点或者包含某个指定的值的节点。
谓语被嵌在方括号中。
实例
常见的谓语的一些路径表达式:
路径表达式 | 结果 |
---|---|
/bookstore/book[1] | 选取属于 bookstore 子元素的第一个 book 元素。 |
/bookstore/book[last()] | 选取属于 bookstore 子元素的最后一个 book 元素。 |
/bookstore/book[last()-1] | 选取属于 bookstore 子元素的倒数第二个 book 元素。 |
/bookstore/book[position()❤️] | 选取最前面的两个属于 bookstore 元素的子元素的 book 元素。 |
//title[@lang] | 选取所有拥有名为 lang 的属性的 title 元素。 |
//title[@lang=‘eng’] | 选取所有 title 元素,要求这些元素拥有值为 eng 的 lang 属性。 |
/bookstore/book[price>35.00] | 选取所有 bookstore 元素的 book 元素,要求book元素的子元素 price 元素的值须大于 35.00。 |
/bookstore/book[price>35.00]/title | 选取所有 bookstore 元素中的 book 元素的 title 元素,要求book元素的子元素 price 元素的值须大于 35.00 |
3、选取未知节点
XPath 通配符可用来选取未知的 XML 元素。
通配符 | 描述 |
---|---|
* | 匹配任何元素节点 |
@* | 匹配任何属性节点 |
node() | 匹配任何类型的节点 |
实例
路径表达式 | 结果 |
---|---|
/bookstore/* | 选取 bookstore 元素的所有子节点 |
//* | 选取文档中的所有元素 |
//title[@*] | 选取所有带有属性的 title 元素。 |
4、选取若干路径
通过在路径表达式中使用“|”运算符,您可以选取若干个路径。
实例
路径表达式 | 结果 |
---|---|
//book/title | //book/price | 选取所有 book 元素的 title 和 price 元素。 |
//title | //price | 选取所有文档中的 title 和 price 元素。 |
/bookstore/book/title**|**//price | 选取所有属于 bookstore 元素的 book 元素的title 元素,以及文档中所有的 price 元素。 |
5、XPath 轴
轴可定义某个相对于当前节点的节点集。
轴名称 | 结果 |
---|---|
ancestor | 选取当前节点的所有先辈(父、祖父等) |
ancestor-or-self | 选取当前节点的所有先辈(父、祖父等)以及当前节点本身 |
attribute | 选取当前节点的所有属性 |
child | 选取当前节点的所有子元素。 |
descendant | 选取当前节点的所有后代元素(子、孙等)。 |
descendant-or-self | 选取当前节点的所有后代元素(子、孙等)以及当前节点本身。 |
following | 选取文档中当前节点的结束标签之后的所有节点。 |
namespace | 选取当前节点的所有命名空间节点 |
parent | 选取当前节点的父节点。 |
preceding | 选取文档中当前节点的开始标签之前的所有节点。 |
preceding-sibling | 选取当前节点之前的所有同级节点。 |
self | 选取当前节点。 |
6、路径
位置路径可以是绝对的,也可以是相对的。
绝对路径起始于正斜杠( / ),而相对路径不会这样。在两种情况中,位置路径均包括一个或多个步,每个步均被斜杠分割:
/step/step/...
step/step/...
每个步均根据当前节点集之中的节点来进行计算。
轴(axis):定义所选节点与当前节点之间的树关系
节点测试(node-test):识别某个轴内部的节点
零个或者更多谓语(predicate):更深入地提炼所选的节点集
步的语法:轴名称::节点测试[谓语]
实例
例子 | 结果 |
---|---|
child::book | 选取所有属于当前节点的子元素的 book 节点 |
attribute::lang | 选取当前节点的 lang 属性 |
child:😗 | 选取当前节点的所有子元素 |
attribute:😗 | 选取当前节点的所有属性 |
child::text() | 选取当前节点的所有文本子节点 |
child::node() | 选取当前节点的所有子节点 |
descendant::book | 选取当前节点的所有 book 后代 |
ancestor::book | 选择当前节点的所有 book 先辈 |
ancestor-or-self::book | 选取当前节点的所有book先辈以及当前节点(假如此节点是book节点的话) |
child:😗/child::price | 选取当前节点的所有 price 孙。 |
7、XPath 运算符
运算符 | 描述 | 实例 | 返回值 |
---|---|---|---|
| | 计算两个节点集 | //book | //cd | 返回所有带有 book 和 ck 元素的节点集 |
+ | 加法 | 6 + 4 | 10 |
- | 减法 | 6 - 4 | 2 |
* | 乘法 | 6 * 4 | 24 |
div | 除法 | 8 div 4 | 2 |
= | 等于 | price=9.80 | 如果 price 是 9.80,则返回 true。如果 price 是 9.90,则返回 fasle。 |
!= | 不等于 | price!=9.80 | 如果 price 是 9.90,则返回 true。如果 price 是 9.80,则返回 fasle。 |
< | 小于 | price<9.80 | 如果 price 是 9.00,则返回 true。如果 price 是 9.90,则返回 fasle。 |
<= | 小于或等于 | price<=9.80 | 如果 price 是 9.00,则返回 true。如果 price 是 9.90,则返回 fasle。 |
> | 大于 | price>9.80 | 如果 price 是 9.90,则返回 true。如果 price 是 9.80,则返回 fasle。 |
>= | 大于或等于 | price>=9.80 | 如果 price 是 9.90,则返回 true。如果 price 是 9.70,则返回 fasle。 |
or | 或 | price=9.80 or price=9.70 | 如果 price 是 9.80,则返回 true。如果 price 是 9.50,则返回 fasle。 |
and | 与 | price>9.00 and price<9.90 | 如果 price 是 9.80,则返回 true。如果 price 是 8.50,则返回 fasle。 |
|
| div | 除法 | 8 div 4 | 2 |
| = | 等于 | price=9.80 | 如果 price 是 9.80,则返回 true。如果 price 是 9.90,则返回 fasle。 |
| != | 不等于 | price!=9.80 | 如果 price 是 9.90,则返回 true。如果 price 是 9.80,则返回 fasle。 |
| < | 小于 | price<9.80 | 如果 price 是 9.00,则返回 true。如果 price 是 9.90,则返回 fasle。 |
| <= | 小于或等于 | price<=9.80 | 如果 price 是 9.00,则返回 true。如果 price 是 9.90,则返回 fasle。 |
| > | 大于 | price>9.80 | 如果 price 是 9.90,则返回 true。如果 price 是 9.80,则返回 fasle。 |
| >= | 大于或等于 | price>=9.80 | 如果 price 是 9.90,则返回 true。如果 price 是 9.70,则返回 fasle。 |
| or | 或 | price=9.80 or price=9.70 | 如果 price 是 9.80,则返回 true。如果 price 是 9.50,则返回 fasle。 |
| and | 与 | price>9.00 and price<9.90 | 如果 price 是 9.80,则返回 true。如果 price 是 8.50,则返回 fasle。 |
| mod | 计算除法的余数 | 5 mod 2 | 1 |
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
相关文章
- 使用webdriver获取网页token值
近日在学习webdriver爬虫的过程中遇到了一个小问题,在此做个记录。这是一个能够获取电商平台商品历史价格的网站:http://www.manmanbuy.com我想要通过向它传递商品链接来获取此网站上该商品的所有历史价格,然而该网站每次读取历史价格时会生成一个随机token值,若我给出的to…...
2024/5/8 13:15:15 - 面试官:换人!他连 TCP 这几个参数都不懂
TCP 性能的提升不仅考察 TCP 的理论知识,还考察了对于操心系统提供的内核参数的理解与应用。TCP 协议是由操作系统实现,所以操作系统提供了不少调节 TCP 的参数。如何正确有效的使用这些参数,来提高 TCP 性能是一个不那么简单事情。我们需要针对 TCP 每个阶段的问题来对症下…...
2024/5/9 4:56:15 - Ubuntu——配置开发板lcd和触摸屏模拟器
配置模拟开发板的lcd和触摸屏的模拟器模拟只是为了实现两个功能:图像化界面的显示 ---- lcd触摸屏按钮的功能 ---- 触摸屏问题:lcd 和 触摸屏是什么东西? 硬件lcd和触摸屏这些硬件怎么会工作起来的?OS 驱动 硬件(lcd 触摸屏)所以只需要给ubuntu安装模拟开发板的lcd、触…...
2024/5/8 11:43:10 - 日志清理脚本
需求背景 解决某些中间件或者应用日志无法自动清理的情况,比如:Nacos 的 access 日志。 变更记录Version 0.0.1 2020/06/05删除 N 天前的日志文件,仅删除匹配 “.log” 的日志文件选项 sh clear-logs.sh [options] <value> ...-p<value> …...
2024/5/9 5:26:02 - python取txt文件的若干行到另一个文件的4种方法
python取txt文件的若干行到另一个文件 方法一: def Read():#取txt文件 的若干行到另一个txtf1 = open(rC:/Users/Desktop/datanew.txt,rb)f2= open(rC:/Users/datanew11.txt,ab)i=...
2024/4/26 5:52:15 - Dubbo 迈出云原生重要一步 - 应用级服务发现解析
社区版本 Dubbo 从 2.7.5 版本开始,新引入了一种基于实例(应用)粒度的服务发现机制阅读全文: http://gitbook.cn/gitchat/activity/5eddab2e613518757ca3b9d9您还可以下载 CSDN 旗下精品原创内容社区 GitChat App ,阅读更多 GitChat 专享技术内容哦。...
2024/4/28 19:11:31 - 线程同步之volatile
多线程安全就是让共享资源在同一时间只有一个线程访问共享资源;只要能够对共享资源实现了 原子性、可见性和有序性那么就可以保证共享资源安全。volatilevolatile变量对所有线程是立即可见,对volatile变量所有的写操作都能立刻反应到其它线程制种;但是不能得出基于volatile变…...
2024/4/26 6:28:30 - Serverless 在大规模数据处理的实践
当您第一次接触 Serverless 的时候,有一个不那么明显的新使用方式:与传统的基于服务器的方法相比,Serverless 服务平台可以使您的应用快速水平扩展,并行处理的工作更加有效。这主要是因为 Serverless 可以不必为闲置的资源付费,不用担心预留的资源不够。而在传统的使用范式…...
2024/4/27 8:57:50 - leetcode刷刷题(49) ---- 整数的各位积和之差(C语言版)
2020-6-9道生一,一生二,二生三,三生万物 老子 – 《道德经》题目:leetcode – 1281. 整数的各位积和之差给你一个整数 n,请你帮忙计算并返回该整数「各位数字之积」与「各位数字之和」的差。 示例 1: 输入:n = 234 输出:15 解释: 各位数之积 = 2 * 3 * 4 = 24 各位…...
2024/5/3 5:02:35 - C++中const的详解
const的含义 使用const用来表示程序中不可修改的常量或对象的值。const作用 (1)const可以定义常量。例如,const int a = 100;其中定义了a为常量,不可以修改。 (2)类型检查。const常量具有类型,编译器可以进行安全检查,#define也存在类型,不过与其表达量有关(整数,浮…...
2024/4/29 0:16:19 - touch--------移动端的一组触摸事件
touchstart 当手指触摸屏幕时触发touchmove 当手指触摸屏幕来回滑动时触发touchend 当手指离开屏幕时触发使用touch: 绑定事件 box.addEventListener(“touchstart”, callback)事件对象:changedTouches 改变后触摸点的集合---每个时间点都会记录targetTouches 目标元素…...
2024/4/27 6:42:04 - PAT笔记 1076 Wifi密码 (15分)
题目思路对于每行输入分别判定和输出,获取每个选项的第三个字符,如果为T,根据第一个字符的选项输出数字#include <stdio.h>int main(){int n;scanf("%d",&n);char str[5];for(int i=0;i<n;i++){for(int j=1;j<=4;j++){ //输出:每一题的正确选项对…...
2024/4/28 21:47:05 - 基于Zemax平台的激光扩束系统的设计
设计一个在波长λ =0.6382μm下操作的激光扩束器,光束输入直径为5mm,输出直径为25mm,输入输出均为准直光。系统总长不超过250mm.在实际的使用过程中,希望镜头的扩束效果比较好,所以在激光扩束后,波前差的PTV值小于λ/10.对于激光扩束镜,有两种经典的结构,一种是开普勒型,…...
2024/5/8 8:06:54 - h5游戏框架设计-------网络框架
MessageManager设计创建websocketthis.socket = new egret.WebSocket();this.socket.addEventListener(egret.Event.CONNECT, this.onConnect, this);this.socket.addEventListener(egret.Event.CLOSE, this.onClose, this);this.socket.addEventListener(egret.IOErrorEvent.I…...
2024/4/27 18:15:30 - 互联网金融授信模型
授信模型: 芝麻信用 1.身份 稳定性 2.履约能力 兜底性 3.信用历史 历史性 4.人脉关系 稳定性+若价值性 5.行为偏好 真正价值 一. 数据变量 1.原始变量 2.衍生变量 时间,函数,比率 在选择变量的时候,基于RMF,一年的数据 二. 数据处理 迭代优化,前期不会很复杂 数值…...
2024/5/7 19:52:03 - 如何准备一份完美的Java简历呢?
如何做一份简历才能提高你拿到 Offer 的几率。 一、「命中率」是检验简历的唯一标准 大家经常觉得简历就自我赞歌,所有美好的形容词堆砌起来都不够不够的,自己实在是太优秀了[捂脸]! 但是,实际上这样的简历并非真的优秀。 第一个小白,做的简历像渣渣,海投简历无人问津,铁…...
2024/5/8 4:39:23 - spark-streaming:1、前置介绍
一、学习路线1、视频以及网上资料2、github示例学习3、官网阅读4、手动实现代码案例二、spark版本介绍maven339,java1.8三、实时流处理业务需求分析统计主站每个(指定)课程访问的ip、地域信息分布实现步骤基于Hadoop实现方案遇到问题如何解决实时流处理背景时效性高数据量大…...
2024/5/1 1:35:48 - 四、ThinkPHP的视图
1、视图模板的定义 默认的模板定义规则是: 视图目录/控制器名/相应方法名 + 模板后缀(.html) 2、模板的渲染和赋值 ThinkPHP对模板的操作与Smarty模板引擎有许多相似之处,具体使用方法如下 在控制器中进行模板渲染: 方法1 return view(模板文件.html,[模板变量]); 方法2 r…...
2024/5/7 23:46:22 - 单片机(一)51单片机串口接收、发送通信
这次做课设整体不太顺利,因为学校的开发板真的是……一言难尽 这里就选择性的分享一点代码方面,有据可循,不那么玄学的问题。 1、中断 只要开了中断,一点要写中断函数,可以是 void timer0() interrupt 4 { ; }可以是这样,先放一个空函数,不会有什么玄学问题 不信,嘿嘿�…...
2024/5/7 16:35:19 - 线程(4),等待,休眠,状态
线程等待线程之间是并发执行的关系 多个线程之间,谁先执行,谁后执行,谁执行到那里让cpu运行,我们是无法是控制的,只能让系统的内核去控制 但是我们可以控制用jion方法来让那个线程去先结束 jion方法,执行jion方法线程就会阻塞,一直到等到对应线程的jion方法执行完才会执…...
2024/4/26 11:20:22
最新文章
- 如何实现本地缓存
什么是本地缓存 本地缓存是一种数据存储技术,它将数据暂时存储在本地的物理内存(如RAM)或者其他快速访问的存储介质中,以便快速检索,减少对远程数据源(如数据库或外部API)的访问需求。这种技术能…...
2024/5/9 7:29:56 - 梯度消失和梯度爆炸的一些处理方法
在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言,在此感激不尽。 权重和梯度的更新公式如下: w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...
2024/5/7 10:36:02 - 探索进程控制第一弹(进程终止、进程等待)
文章目录 进程创建初识fork函数fork函数返回值fork常规用法fork调用失败的原因 写时拷贝进程终止进程终止是在做什么?进程终止的情况代码跑完,结果正确/不正确代码异常终止 如何终止 进程等待概述进程等待方法wait方法waitpid 进程创建 初识fork函数 在…...
2024/5/5 1:11:34 - 【APUE】网络socket编程温度采集智能存储与上报项目技术------多路复用
作者简介: 一个平凡而乐于分享的小比特,中南民族大学通信工程专业研究生在读,研究方向无线联邦学习 擅长领域:驱动开发,嵌入式软件开发,BSP开发 作者主页:一个平凡而乐于分享的小比特的个人主页…...
2024/5/6 2:28:08 - 【外汇早评】美通胀数据走低,美元调整
原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...
2024/5/8 6:01:22 - 【原油贵金属周评】原油多头拥挤,价格调整
原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...
2024/5/7 9:45:25 - 【外汇周评】靓丽非农不及疲软通胀影响
原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...
2024/5/4 23:54:56 - 【原油贵金属早评】库存继续增加,油价收跌
原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...
2024/5/9 4:20:59 - 【外汇早评】日本央行会议纪要不改日元强势
原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...
2024/5/4 23:54:56 - 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响
原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...
2024/5/4 23:55:05 - 【外汇早评】美欲与伊朗重谈协议
原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...
2024/5/4 23:54:56 - 【原油贵金属早评】波动率飙升,市场情绪动荡
原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...
2024/5/7 11:36:39 - 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试
原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...
2024/5/4 23:54:56 - 【原油贵金属早评】市场情绪继续恶化,黄金上破
原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...
2024/5/6 1:40:42 - 【外汇早评】美伊僵持,风险情绪继续升温
原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...
2024/5/4 23:54:56 - 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势
原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...
2024/5/8 20:48:49 - 氧生福地 玩美北湖(上)——为时光守候两千年
原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...
2024/5/7 9:26:26 - 氧生福地 玩美北湖(中)——永春梯田里的美与鲜
原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...
2024/5/4 23:54:56 - 氧生福地 玩美北湖(下)——奔跑吧骚年!
原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...
2024/5/8 19:33:07 - 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!
原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...
2024/5/5 8:13:33 - 「发现」铁皮石斛仙草之神奇功效用于医用面膜
原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...
2024/5/8 20:38:49 - 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者
原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...
2024/5/4 23:54:58 - 广州械字号面膜生产厂家OEM/ODM4项须知!
原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...
2024/5/6 21:42:42 - 械字号医用眼膜缓解用眼过度到底有无作用?
原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...
2024/5/4 23:54:56 - 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...
解析如下:1、长按电脑电源键直至关机,然后再按一次电源健重启电脑,按F8健进入安全模式2、安全模式下进入Windows系统桌面后,按住“winR”打开运行窗口,输入“services.msc”打开服务设置3、在服务界面,选中…...
2022/11/19 21:17:18 - 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。
%读入6幅图像(每一幅图像的大小是564*564) f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...
2022/11/19 21:17:16 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...
win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面,在等待界面中我们需要等待操作结束才能关机,虽然这比较麻烦,但是对系统进行配置和升级…...
2022/11/19 21:17:15 - 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...
有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows,请勿关闭计算机”的提示,要过很久才能进入系统,有的用户甚至几个小时也无法进入,下面就教大家这个问题的解决方法。第一种方法:我们首先在左下角的“开始…...
2022/11/19 21:17:14 - win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...
置信有很多用户都跟小编一样遇到过这样的问题,电脑时发现开机屏幕显现“正在配置Windows Update,请勿关机”(如下图所示),而且还需求等大约5分钟才干进入系统。这是怎样回事呢?一切都是正常操作的,为什么开时机呈现“正…...
2022/11/19 21:17:13 - 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...
Win7系统开机启动时总是出现“配置Windows请勿关机”的提示,没过几秒后电脑自动重启,每次开机都这样无法进入系统,此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一:开机按下F8,在出现的Windows高级启动选…...
2022/11/19 21:17:12 - 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...
有不少windows10系统用户反映说碰到这样一个情况,就是电脑提示正在准备windows请勿关闭计算机,碰到这样的问题该怎么解决呢,现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法:1、2、依次…...
2022/11/19 21:17:11 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...
今天和大家分享一下win7系统重装了Win7旗舰版系统后,每次关机的时候桌面上都会显示一个“配置Windows Update的界面,提示请勿关闭计算机”,每次停留好几分钟才能正常关机,导致什么情况引起的呢?出现配置Windows Update…...
2022/11/19 21:17:10 - 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...
只能是等着,别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚,只能是考虑备份数据后重装系统了。解决来方案一:管理员运行cmd:net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...
2022/11/19 21:17:09 - 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?
原标题:电脑提示“配置Windows Update请勿关闭计算机”怎么办?win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢?一般的方…...
2022/11/19 21:17:08 - 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...
关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!关机提示 windows7 正在配…...
2022/11/19 21:17:05 - 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...
钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...
2022/11/19 21:17:05 - 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...
前几天班里有位学生电脑(windows 7系统)出问题了,具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面,长时间没反应,无法进入系统。这个问题原来帮其他同学也解决过,网上搜了不少资料&#x…...
2022/11/19 21:17:04 - 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...
本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法,并在最后教给你1种保护系统安全的好方法,一起来看看!电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中,添加了1个新功能在“磁…...
2022/11/19 21:17:03 - 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...
许多用户在长期不使用电脑的时候,开启电脑发现电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机。。.这要怎么办呢?下面小编就带着大家一起看看吧!如果能够正常进入系统,建议您暂时移…...
2022/11/19 21:17:02 - 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...
配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!配置windows update失败 还原更改 请勿关闭计算机&#x…...
2022/11/19 21:17:01 - 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...
不知道大家有没有遇到过这样的一个问题,就是我们的win7系统在关机的时候,总是喜欢显示“准备配置windows,请勿关机”这样的一个页面,没有什么大碍,但是如果一直等着的话就要两个小时甚至更久都关不了机,非常…...
2022/11/19 21:17:00 - 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...
当电脑出现正在准备配置windows请勿关闭计算机时,一般是您正对windows进行升级,但是这个要是长时间没有反应,我们不能再傻等下去了。可能是电脑出了别的问题了,来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...
2022/11/19 21:16:59 - 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...
我们使用电脑的过程中有时会遇到这种情况,当我们打开电脑之后,发现一直停留在一个界面:“配置Windows Update失败,还原更改请勿关闭计算机”,等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢࿰…...
2022/11/19 21:16:58 - 如何在iPhone上关闭“请勿打扰”
Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...
2022/11/19 21:16:57