通过 Java 编程处理 XML 服务定义

【Java编程】SAX XML Parser解析、生成XML文件 1、优缺点 优点: SAX 从根本上解决了 DOM 在解析 XML 文档时产生的占用大量资源的问题。其实现是通过类似于流解析的技术,通读整个 XML 文档树,通过事件处理器来响应程序员对于 XML 数据解析的需求。由于其不需要将整个 XML 文档读入内存当中,它对系统资源的节省是十分显而易见的,它在一些需要处理大型 XML 文档以及性能要求较高的场合有起了十分重要的作用。支持 XPath 查询 阅读详情

创建内存占用较少的 Java 客户机满足 SOA 需求

面向服务架构(SOA)通常会输出一系列服务。针对 XML 服务建模以及随后用户(人员、机器或其他服务)对这些服务的使用,Java™ 技术提供了强大的 XML 数据处理机制,从而为应用 SOA 理念提供了重要基础。通过本文研究 XML 和 Java 技术在 SOA 中的实际应用,并通过明确的示例了解为何这个看似复杂的技术能够如此流行。

SOA 提供了一系列服务,其中一些服务由用户使用,而另一些则由计算机使用。事实上,由计算机使用的这些服务通常使 SOA 具有几分递归结构。本文将介绍一种简单的方法,可定义由 Internet 服务提供商(ISP)使用的服务。之所以选择这种类型的提供商是因为大部分人对它比较熟悉。然而,其中的原理并不限于通信提供商:可以应用于所有类型的服务提供商 — 银行、股票代理、公用事业公司等等。

本文假设某个 ISP 对其全部或部分基础设施实现了 SOA。该提供商输出的服务之一就是提供一种基于 Web 的工具,用户可以借助该工具修改他们的服务配置文件。

本文的目的

撰写本文之际,SOA 技术仍然处于发展阶段,并且很多大型软件供应商还在开发各自的 SOA 产品。因此,SOA 领域目前综合了各种技术,包括 Java Business Integration (JBI)、Intelligent Event Processing 和 Business Process Execution Language (BPEL) 服务器。因此,在将各种技术融入到一个解决方案之前,想要从 SOA 中受益的用户组织很可能需要进行大量投资。通过对 SOA 布置如此高的复杂性,行业提前为实现供应商定位铺好了道路,即使 SOA 其中的一项承诺是实现基于标准、面向组件、独立于供应商的计算。在开始代价高昂的迁移过程前,用户组织能够获得一些实用的 SOA 使用体验吗?

为回答这个问题,本文通过简单的 XML 和一些 Java 代码演示了几个重要的 SOA 原理。本文并不打算介绍 SOA 领域中的所有内容;相反,我们只介绍其中的一些关键部分。例如,您可以考虑使用 RSS 发布 XML 服务定义。但是,在本文的例子中,传输机制使用的是 Java 工具。

这种聚焦式方法的优点就是用户组织中的 Java 开发人员可以使用其中的理念构建自己的简单的试验性 SOA。这种试验模式有助于组织实现 SOA 的商业效益。后者包含对业务服务建模,例如计算服务、用户自助服务、更好的自动化服务和更具响应性的服务。您可以将上述的迁移作为一个独立试验实现,与现有业务流程并行运作。

用户组织不需要进行大型投资就可实现一个试验性质的 SOA。通过这种方式,陈述特定于组织的 SOA 需求时可以脱离任何供应商实现。实际上,某些较小的用户组织可以继续使用他们的试验性 SOA 模式,只在后期迁移到软件供应商提供的大型商用解决方案。

自助服务趋势

对于大多数服务提供商来说,自助服务正在发展为一种趋势 — 特别是那些资金紧张的 ISP。因此,如果您需要更多带宽(进行下载或玩在线游戏),您可以登录到提供商的 Web 站点并通过 Web 页面自动升级与提供商的连接。让我们看一个具体的例子:清单 1 展示了一个简单的基于 XML 的用户服务配置文件。


清单 1. 一个简单的基于 XML 的服务描述
                
<ServiceInstance>
<Customer>Josephine Bloggs</Customer>
<Package>Internet</Package>
<Bandwidth>1mbps</Bandwidth>
<DownloadLimit>1Gbyte</DownloadLimit>
<Uptime>95</Uptime>
</ServiceInstance>

代码解释了这个用户 XML 服务模型。该模型包括:

  • 一个服务实例
  • 客户名字
  • 服务包的名称
  • 已配置的带宽量
  • 每月允许的下载限度
  • 提供商正常运行时间保证

无疑,服务定义可以比此处的例子复杂很多。其他内容可能包括客户地址、账单明细、往返延迟、加密和服务信用信息等。重点是,越来越多的提供商提供如 清单 1 所示的 Web 访问细节。某种程度上讲,这种尝试可以减少支持电话的花销和发生频度。有趣的是,这种基于 Web 的服务可以使用户觉得为他们提供服务的是较为先进的提供商。这实现了双赢的局面,因为客户可以更好地访问他们的服务数据,而提供商可以销售无需他们插手的服务包。授权的用户可以修改如 清单 1 所示的一些服务参数 — 例如,配置的带宽。随之修改的是用户每月的订购费用。

因此,清单 1 中的代码形成了基于 XML 的服务模型的基础。通过简单地与在线表单进行交互,用户可以修改可写的服务元素(例如带宽)。通过在线表单进行的修改将被记录,然后反映到可由用户配置文件修改的后端服务中。这是一种实现自助服务的标准方法。

然而,您将要了解的是另一种更加松散耦合的自助服务 — 使用这种服务,用户可以通过在网络中传输 清单 1 中的 XML 内容修改数据。在这种场景中,所传输的 XML 内容可通过一个 Java 客户机进行修改,后者可运行在台式机、笔记本电脑、甚至某种资源受限的设备上(例如手机),然后将数据发回给网络服务提供商。这种机制超越了基本的 HTML 页面模型并采纳了 SOA 思想。


将服务定义 XML 文档传输给使用 Java 技术的客户机

Java 技术和 XML

Java 技术和 XML 几乎成为了同义词。实际上,我通过 IBM 工具对整篇文章应用了 XML 格式。尽管 XML 取得了显而易见的巨大成功,仍需注意 XML 是一种相当笨拙的技术,例如 <start> 和 <end> 标签会增加大量带宽并在通过网络传输数据时处理系统开销。然而,忽略这种特性,XML 确实提供了一些强大的处理工具。这些工具(本文将探讨其中的两种)基本上解决了数据表示和解析问题(后者长久以来一直难以解决)。现在,通过使用 XML 工具,各种技术级别的程序员都可以实现专业的标准化解析。

Java 技术为 XML 数据处理提供了一些真正强大的工具(请参见侧栏 Java 技术和 XML)。如果将 清单 1 中的内容看作是给定数据集的基于 XML 的呈现,那么您还可以使用其他方式进行呈现。构成 清单 1 基本内容的原始数据一般保存在数据库中。因此,您如何将这些数据打包成 XML?

清单 2 中的内容摘取自本文附带的 Java 文件 encodeXML.java.(相关文件可从 下载 部分获得)。encodeXML.java 类对 XMLEncoder 类的对象进行了实例化。如您所见,这个对象随后在当前目录中创建了名为 xmldata.xml 的文件。下一步是将 XML 数据值插入到文件中,这可以通过调用一连串的 writeObject() 方法实现(清单 2 对此进行了说明)。显然,在生产环境中,清单 2 中硬编码的文本字符串将来自数据库这样的持久性存储。无论何种情况,可以看到 XML 数据文件的创建非常简单。


清单 2. 使用 XML 格式编码数据
                
XMLEncoder e = new XMLEncoder(
new BufferedOutputStream(
new FileOutputStream("xmldata.xml")));
e.writeObject("Josephine Bloggs");
e.writeObject("Internet");
e.writeObject("1mbps");
e.writeObject("Gbyte");
e.writeObject("295");
e.close();

执行 清单 2 中的程序后,程序的执行目录中将出现一个名为 xmldata.xml 的文件。清单 3 解释了新创建文件包含的内容。


清单 3. 生成的 XML 数据
                
<?xml version="1.0" encoding="UTF-8"?>
<java version="1.5.0_06" class="java.beans.XMLDecoder">
<string>Josephine Bloggs</string>
<string>Internet</string>
<string>1mbps</string> 
<string>Gbyte</string> 
<string>295</string>
</java>

您可以通过网络将 清单 3 中的文件传输给等待状态中的客户机 — 使用 Java 技术即可创建。清单 4 展示了一个简单的例子。


清单 4. 跨越网络传输文件
                
byte[] bytes = new byte[BUFFER_SIZE];
FileInputStream inputFile = null;
try
{
File file = new File("xmldata.xml");
if (file.exists())
{
inputFile = new FileInputStream(file);
int ch = inputFile.read(bytes, 0, BUFFER_SIZE);
while (ch != -1)
{
output.write(bytes, 0, ch);
ch = inputFile.read(bytes, 0, BUFFER_SIZE);
}
}

清单 4 中的代码创建了一个长度缓冲区 BUFFER_SIZE。 BUFFER_SIZE 常量的值可以是 1024 或更高。通过调用 inputFile.read() 方法将输入文件(xmldata.xml)的内容读取到缓冲区中。进行缓冲之后,output.write() 方法将文件数据写入到 OutputStream 对象的套接字中。最后一步将数据通过网络发送到等待中的客户机中。这些功能居然只需要这么少的代码!

接下来,您需要使客户机处理传入的 XML 数据。

接收数据的 Java 客户机获得 XML 内容(并不是 XML 文件)

客户机如何接收 XML 数据?同样,对于 Java 技术来说这只是小事一桩。数据接收通过一个套接字对象完成。清单 5 展示的代码将接收传入的数据并将数据推入到 ArrayList 类的对象中。

客户机现在必须解决两个与所接收数据项的数量有关的问题。由于这是一个松散耦合的场景,您必须假定客户机并不清楚服务配置文件(即 清单 1 中的代码)中包含了多少 XML 数据项。因此,您必须确定一些方法来接收和处理精确的数据项数量。第二个问题比较容易解决,就是如何保存处理过的数据。您将看到,清单 5 同时解决了这两个问题。


清单 5. 提取嵌入的 XML 数据
                
XMLDecoder d = new XMLDecoder(input);
try
{
while (true)
ArrayList<Object[]> rowList = new ArrayList<Object[]>();
{
String dataItem = (String)d.readObject();
System.out.println("XML decoded data: " + dataItem);
rowList.add(dataItem);
}
}
}
catch (Exception exc)
{
if (exc instanceof ArrayIndexOutOfBoundsException)
{
// No more records to process
System.out.println("Parsed all XML records - " +
	"threw exception. Number of rows: " + rowList.size());
}
}

d.close();

通过一个有限循环 while (true),您可以确定期望的到来数据项的数量。该代码将一直执行循环,直到接收到最后一个数据项,此时将抛出一个异常(ArrayIndexOutOfBoundsException)。您必须使用这种异常机制,除非客户机已经了解期望的数据项数量。

从 InputStream 对象接收的 XML 数据被保存在 ArrayList 类的一个对象中。该类对于此类应用程序非常有用。完成类定义之后,ArrayList 具有一个特定的容量,总是匹配底层列表的大小。在添加元素时,ArrayList 对象的容量将自动扩展。因此,您无需担心会超过数组的极限,因为该类将为您处理这一问题。

此时,客户机具有 清单 1 中数据的副本。客户机现在可以将带宽元素修改为所需的值,然后反向执行文件传输过程,从客户机发送到服务器。通过将 XML 文件从服务器移动到客户机,客户机实际上使用了这一服务。更新后的数据被发送回服务器以完成事务。当然,服务提供商必须验证传入的数据并提供所需的带宽更改。

本文描述的这种模式首先将一个 XML 文件通过网络传输到客户机。客户机将文件数据作为流进行接收,然后将其解析为一个内存驻留对象。客户机随后对内存驻留对象进行更改,然后反向执行传输过程,将对象发回到服务器。

还存在一种服务,其中 XML 数据被完整无缺地从服务器传输到客户机。这种场景中,客户机使用某种形式的文件传输协议(例如 FTP)获得完整的文件副本。由于文件传输是一种标准技术,这里不作过多介绍,您只需了解客户机将下载 清单 1 中服务配置数据的一个文件副本。此时,客户机需要解析并修改文件,然后传输回服务器,这种模式的工作原理是什么?

一种基于 XML 文件的 Java 机制

客户机现在将服务配置文件的副本保存在磁盘中。必须对该文件进行解析以提取 XML 数据。让人意外的是,这实现起来有些难度,对于较大的文件尤其如此。解决问题的关键是使用合适的解析工具。本文中使用的工具是 dom4j,该工具允许您将 XML 数据解析为一个 Java 对象。您还可以使用一个基于 Simple API for XML (SAX) 的解析器,但是 SAX 是一种较低级的技术。您将看到,dom4j 工具仅需要很少的工作即可完成解析。清单 6 引用自本文附带的 ProcessEventXml.java 文件,展示了使用 dom4j 解析文件所需的主要元素。


清单 6. dom4j 处理 XML 数据
                
try
{
handler.treeWalk(handler.parse(new File(argv[0])));
}
catch (Throwable t)
{
t.printStackTrace();
}
}

public Document parse(File url)
throws DocumentException
{
SAXReader reader = new SAXReader();
Document document = reader.read(url);
return document;
}

public void treeWalk(Document document)
throws Exception
{
treeWalk(document.getRootElement());
}

基本上只需要两种方法:parse() 和 treeWalk()。当我运行经过编译的类时,我获得了如 清单 7 所示的输出。如果您希望亲自运行代码,请确保下载、安装 dom4j 副本,并添加到 CLASSPATH 中(最后一步就是将相应的 JAR 文件添加到您的 CLASSPATH 变量中)。然后,编译 ProcessEventXml.java 文件并使用以下命令运行程序:

java ProcessEventXml ServiceDefinition.xml


清单 7. 使用 dom4j 处理 XML 文件
                
java ProcessEventXml ServiceDefinition.xml
Josephine Bloggs Internet 1mbps 1Gbyte 95

正如您看到的,仅需少量工作即可整洁地显示 XML 数据。这些工作都是由 dom4j 处理的。事实上,大部分工作是通过 treeWalk() 方法完成的,这是一种只有到达文件末尾才进行调用的递归式方法。这里向您展示了 dom4j 的一个功能:在内存中进行处理。需要注意的是,该技术不适合用于特别大型的 XML 文件,特别是如果您的 Java 设备非常小的话。然而,在本文的例子中,XML 数据集非常小,因此使用这个功能不会产生问题。

您的基于文件的客户机现在已经成功访问了 XML 数据。客户机可以根据需要修改数据并编写新的 XML 文件。然后将其传输回服务器进行处理。像上文一样,客户机在这一过程中使用了该服务。

 

下载

描述名字大小下载方法
本文的示例 Java 代码x-xmlandsoa-code.zip6KBHTTP


参考资料

学习

获得产品和技术
  • dom4j:下载该工具,它是可在 Java 平台上与 XML、XPath 和 XSLT 结合使用的开源库,并且完全支持 DOM、SAX 和 JAXP。

  • IBM 试用版软件:使用 IBM 试用版软件构建您的下一个开发项目,可直接从 developerWorks 下载获得。


讨论


关于作者

Stephen Morris 是爱尔兰的 Omey Communications 的 CTO。在过去 20 年中,Stephen 曾在一些世界最大的网络公司参与过各种软件项目,包括基于 J2EE/J2SE 的网络管理系统,帐单编制应用程序、移植和开发 SNMP 实体、网络设备技术和 GSM 移动网络应用程序。他是 Network Management,MIBs and MPLS:Principles,Design and Implementation(Prentice Hall PTR,2003 年)一书的作者,同时也在 InformIT 和 OnJava.com 发表过多篇有关网络管理和其他主题的文章。

XML文件的打开和编程处理 XML编辑器:如果您需要更高级的XML编辑和处理功能,可以使用专门的XML编辑器,例如XMLSpy、Oxygen XML Editor或Visual Studio Code等。XML编辑器:如果您需要更高级的XML编辑和处理功能,可以使用专门的XML编辑器,例如XMLSpy、Oxygen XML Editor或Visual Studio Code等。以上是使用Python和Java两种常见编程语言处理XML文件的示例XML文件的打开和编程处理。要打开XML文件,您可以使用多种软件工具和编程语言。 阅读详情

相关推荐

Java编程实用代码集合:网络编程、XML处理与Swing界面开发

本文还有配套的精品资源,点击获取 简介:Java程序设计中常见的问题可利用该代码资源库中的多种高效实用代码片段得到解决。包括网络编程基础与高级特性的实现,XML数据处理技巧,以及Swing库下的GUI界面构建。这些代码示例涵盖从字符串处理到多线程编程的各个方面,旨在提升程序员的开发技能和问题解决效率。 1.1 Java网络编程概述 Java网络编程是指通过Jav...

weixin_42600407的博客 1732

java输出xml数据

这几天,从迷惘到清晰。我想记录一下,这次的心路历程。 package com.xh.xml;    import java.io.FileOutputStream;    import java.io.IOException;    import org.jdom.Document;    import org.jdom.Element;    import org.

Kaspar_w的专栏 1314

Java XML编程全解

本文还有配套的精品资源,点击获取 简介:本书为Java开发者提供了处理XML技术的全面指南,涵盖了XML基础知识、各种解析技术、数据绑定、查询与转换方法,以及XML在Web服务和配置管理中的应用。深入解析了DOM、SAX、StAX解析技术,JAXB数据绑定,XPath查询,XSLT转换,以及XML Schema验证等关键XML技术。同时,书中还介绍了如何在Java中使用SO...

weixin_35995661的博客 1011

Java中对XML格式数据的四种解析方式,代码示例解析

首先我们来了解一下什么XML格式。 XML全称为Extensible Markup Language,是一种通用的数据交换格式,具备平台无关性、系统无关性、语言无关性等优点,在数据交互中带来极大地便利。值得一提的是,在不同语言环境中的解析方式都是一样的,只不过实现的语法不同罢了。 XML文件解析的方法有四种,分别为:DOM解析、SAX解析、JDOM解析、DOM4J解析。其中前两种属于基础方

蓝色的天空 4357

JAVA编程与XML数据处理电子书及源码大全

Java语言以其跨平台性、面向对象的特性,成为了众多开发者首选的编程语言。掌握Java的基础语法和面向对象概念是成为一位合格Java程序员的必经之路。这一章将带你从Java的基本语句、数据类型和控制流开始,逐步深入理解类、对象以及面向对象三大特性:封装、继承和多态。Java的异常处理机制和多线程编程是构建健壮和高效Java应用程序的关键技术。通过本章的学习,读者应该能够理解和运用Java中的异常类层次结构、异常处理和同步机制,并且能够设计和实现基于多线程的应用程序。

weixin_35006125的博客 783

掌握DOM4J:Java中XML处理的利器

DOM4J是一个强大的Java XML API,具有性能优异和灵活性高的特点,被广泛应用于XML数据的处理。它主要以SAX接口为基础,提供了一组功能强大的接口,使得操作XML文件变得更为直观和高效。

weixin_33256096的博客 807

java xml请求_服务端发送xml请求java代码示例

/****/packagecom.autoyol.pay.cmb.core;importjava.io.ByteArrayOutputStream;importjava.io.IOException;importjava.io.InputStream;importjava.io.OutputStream;importjava.net.HttpURLConnection;importjava.net...

weixin_32691823的博客 381

Java XML编程从入门到精通

htmltable {th, td {th {pre {简介:《Java XML编程指南》是一本专为Java开发者编写的实用指南,重点讲解了XML在Java环境中的应用,包括数据处理、通信等。书中深入介绍了XML的基础知识、在Java中的解析方法(如DOM、SAX和StAX),并涵盖了使用JAXB进行对象到XML的映射、JAXP的XML处理标准接口、XML Schema和DTD的定义、以及如何创建和消费SOAP服务。

weixin_31974443的博客 924

JAVA中XML文件的生成与导出(DOM4j)

以下代码可以直接拿去测试使用,供首次了解的新人。本文使用dom4j,对于java来说,这是比较优秀的解析方式 dom4j生成XML文件 import java.io.File; import java.io.FileOutputStream; import org.dom4j.Document; import org.dom4j.DocumentHelper; import org.dom4j...

qq_29233707的博客 3185

xml的JAVA解析与格式定义

解析器的介绍 文档对象模型(DOM)解析实例 SAX解析实例 DOM4J解析实例 JDOM解析实例 JAVA操纵XML 实例讲解

电网加密芯片全解析:分类与功能​

在电网数字化转型的浪潮中,数据安全和设备的身份认证变得愈发重要。加密芯片作为保障电网信息安全的核心部件,凭借独特的技术特性,在不同应用场景下发挥着关键作用,有力推动着智能电网的安全稳定发展。接下来,我们将对电网中常见的加密芯片展开分类介绍,并探讨其对应的功能。​。

1963

浅出Java 的Xml编程

浅出Java 的Xml编程作者:何双江(yarshray)对于Xml,我的认识是,一个用来存放数据的标准格式.怎么看我都觉得XML和Html,完全不一样,也许仅仅只是都使用了标记来作为文档解释的原因吧.所以人们才喜欢把XML和HTML对比来看.对于我个人而言,XML就是一个简单方便的数据文件.因为.它不同与一般的关系型数据库,把数据看出二维表.通过基本的关系运算,获取二维表中的

何双江(yarshray)的专栏 4215

基于Matlab-Simulink的大林算法控制系统设计与振铃消除实验

本文详细介绍了基于Matlab-Simulink的大林算法控制系统设计与振铃消除实验。通过分析纯滞后系统的控制难题,探讨大林算法在工业控制中的应用优势,并提供Matlab-Simulink环境搭建、控制器D(z)设计、振铃消除及仿真实验的完整流程。文章还对比了大林算法与PID控制的性能差异,为工程实践提供参考。

dropout6artist的博客 798

通过Java编程处理XML 服务SOA

很多大型软件供应商还在开发各自的 SOA 产品。因此,SOA 领域目前综合了各种技术,包括 Java Business Integration (JBI)、Intelligent Event Processing 和 Business Process Execution Language (BPEL) 服务器。因此,在将各种技术融入到一个解决方案之前,想要从 SOA 中受益的用户组织很...

a727808的博客 239

华为2019秋招笔试Java实现(2)

华为2019秋招笔试Java实现(2) 笔试日期2019年8月14日 第二题(200分) 题目描述 某程序员小A,有一种表格数据需要存储在文件中。表格中的每一行,由若干个字段组成,每个字段可以是整数或字符串(字符串只包含数字、字母以及特殊字符!@#%^&*()",)。小A设计了一种存储格式,采用文本的方式对表格数据进行存储。文本文件中的每一行,代表了表格数据中的一行数据。具体格式描述如下: 1、采用逗号分隔不同的字段(逗号前后无空格); 2、数字直接采用10进制的文本存储; 3、字符串的存储规则如下

hewhys的博客 1549

企业级 Agent 在 K8s 上的运行模型

Kubernetes├── Agent Orchestrator(控制面)├── Agent Runtime Pods(执行面)├── Graph DSL(流程层)├── Tool Services(能力层)K8s(调度)+ Graph(流程)+ Agent(决策)+ Tool(执行)+ Guard(治理)

一起修行,不孤单。这里有编程语言、开发工具、学习方法论和踩坑笔记。用简单的话说复杂的事,陪你从小白到进阶。周更干货,欢迎一起成长! 1174

通过Java编程处理XML 为SOA减少内存占用

很多大型软件供应商还在开发各自的 SOA 产品。因此,SOA 领域目前综合了各种技术,包括 Java Business Integration (JBI)、Intelligent Event Processing 和 Business Process Execution Language (BPEL) 服务器。因此,在将各种技术融入到一个解决方案之前,想要从 SOA 中受益的用户组织很可能需要进行

shengcaishengcai的专栏 330

从ADC校准到精准测量:避开PY32F030小信号采样的那些坑

本文深入探讨了PY32F030微控制器进行ADC小信号采样时面临的挑战与解决方案。从硬件设计、软件滤波算法到系统级校准策略,详细分析了如何避开常见陷阱,实现精准测量,特别是在25mV以下小信号场景中的应用实践。

ujm567890的博客 759

Java里处理XML的开源工具

Java XML JAXP JAXB XSLT XML Schema

大头客的专栏 1979

OpenStack 8 节点生产级高可用(HA)集群实施文档

本文详细介绍了生产级高可用OpenStack集群的架构设计与实施方案。通过采用3节点控制集群(HAProxy+Keepalived)、2节点计算资源池和3节点Ceph分布式存储,实现了控制平面、计算资源和存储系统三个层面的高可用。方案重点阐述了VIP漂移、MariaDB Galera集群、RabbitMQ镜像队列等关键组件的配置方法,并提供了完整的部署流程和故障验证方案。该架构确保任意单节点故障不会影响平台整体可用性,满足生产环境对稳定性、扩展性和可维护性的要求,为构建无单点故障的OpenStack生产环境

彭大帅的博客 781

支持向量机算法之鸢尾花特征分类【机器学习】

支持向量机(SVM)是一种二元分类模型。它的基本模型是在特征空间中定义最大区间的线性分类器,这使它不同于感知器;支持向量机还包括核技术,这使得它本质上是一个非线性分类器。支持向量机的学习策略是区间最大化,它可以形式化为求解凸二次规划的问题,等价于正则化铰链损失函数的最小化。支持向量机的学习算法是求解凸二次规划的优化算法。Scikit learn(sklearn)是机器学习中常见的第三方模块。它封装了常见的机器学习方法,包括回归、降维、分类、聚类等。实例的特征向量(以2D为例)映射到空间中的一些点,如下图中的

一键难忘的博客 4971

JAVA编程中更新XML文档的常用方法

JAVA编程中更新XML文档的常用方法    JAXP是Java API for XML Processing的英文字头缩写,中文含义是:用于XML文档处理的使用Java语言编写的编程接口。JAXP支持DOM、SAX、XSLT等标准。为了增强JAXP使用上的灵活性,开发者特别为JAXP设计了一个Pluggability Layer,在Pluggability Layer的支持之下,JAXP既可

为理想而奋斗 1551

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

【Java 进阶篇】使用 Java 和 Jsoup 进行 XML 处理

Jsoup 是一个用于解析HTML和XML文档的Java库。尤其在网页抓取、数据提取和文档处理方面非常强大。它提供了一种简单的方式来遍历、搜索和修改文档树,使得XML处理变得非常容易。除了XML,Jsoup还支持HTML5,因此您可以用它来处理网页数据。本篇博客介绍了如何使用 Java 和 Jsoup 来解析和处理XML数据。我们了解了如何加载、解析和操作XML文档,以及如何使用查询和选择功能来提取特定元素。此外,我们还提到了如何使用 Jsoup 处理HTML页面,以及一些高级用法和安全注意事项。

繁依Fanyi的博客 1731

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

上一篇: XML 和 Java 技术: XML 持久性的三种方式
下一篇: 应用挂载名称空间
WAST
博客等级 码龄25年 85粉丝 160原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值