`
smhx
  • 浏览: 76418 次
  • 性别: Icon_minigender_1
  • 来自: 昆明
社区版块
存档分类
最新评论

通过SPI REST使用唯一标识获得ibm门户页面信息

阅读更多
直接贴代码了, 具体的和ibm 门户完全关联,使用atom 。主要是获得元素的属性值的时候遇到了一些问题,本来使用xpath 的基本形式(/feed/entry/tile/@type)没有问题的,但是/feed/entry/id的属性使用了命名空间,按照上面的模式都不成功,最后只好使用qname形式的参数获得属性值,这基本花了半天的时间才解决。
写道
package test;

import java.io.InputStream;
import java.net.URISyntaxException;

import javax.xml.namespace.QName;

import org.apache.abdera.Abdera;
import org.apache.abdera.model.Document;
import org.apache.abdera.model.Element;
import org.apache.abdera.model.Entry;
import org.apache.abdera.model.Feed;
import org.apache.abdera.parser.Parser;
import org.apache.abdera.protocol.client.AbderaClient;
import org.apache.abdera.protocol.client.ClientResponse;
import org.apache.abdera.xpath.XPath;
import org.apache.commons.httpclient.UsernamePasswordCredentials;

public class NewTesta {

/**
* @param args
*/
public static void main(String[] args) {
NewTesta newTest = new NewTesta();
try {
newTest.getPageInfo();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

public void getPageInfo() throws Exception {

Abdera abdera = new Abdera();
AbderaClient client = new AbderaClient(abdera);
client.usePreemptiveAuthentication(true);
try {
client.addCredentials("http://127.0.0.1:10040/wps/myportal", null,
null, new UsernamePasswordCredentials("admin", "password"));
} catch (URISyntaxException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

// 替换为具体的唯一标识 oid:6_CGAH47L00O2V002N5SQ0US3867
ClientResponse response1 = client
.get("http://127.0.0.1:10040/wps/mycontenthandler?uri=cm:oid:6_CGAH47L00O2V002N5SQ0US3867");

Parser parser = Abdera.getNewParser();

InputStream in = response1.getInputStream();
Document<Feed> doc = parser.parse(in);
Feed feed = doc.getRoot();

Entry entry = feed.getEntries().get(0);

System.out.println(entry.getTitle());
System.out.println(entry.getTitleType());
Element theId = entry.getElements().get(1);

XPath xpath = abdera.getXPath();
System.out.println(feed.toString());
org.apache.abdera.parser.stax.FOMIRI o = (org.apache.abdera.parser.stax.FOMIRI) xpath
.selectSingleNode("/a:feed/a:entry/a:id", feed);
QName newQname = new QName(
"http://www.ibm.com/xmlns/prod/websphere/portal/v6.0.1/portal-model",
"uniquename", "portal");
System.out.println(o.getAttributeValue(newQname));

}

}
 
分享到:
评论

相关推荐

    单片机通过SPI外扩FLASH程序代码

    本主题聚焦于如何使用SPI协议在单片机上实现对外部FLASH存储器的读写操作。这里我们将深入探讨SPI接口的基本原理、单片机的SPI配置、外扩FLASH的特性以及读写程序设计的关键点。 1. SPI基本原理: SPI是一种全双工...

    FPGA通过SPI对ADC配置系列文章.docx

    这篇文章系列是关于使用FPGA通过SPI对ADC进行配置的系列文章,从原理到代码分析,由浅入深,非常适合学习和参考。本文档涵盖了SPI的基本概念、4线模式和3线模式的SPI配置、FPGA对ADC的SPI配置时序分析等内容。 SPI...

    esp8266模块-SPI使用demo

    ESP8266模块是一款基于Wi-Fi的微控制器,常用于物联网(IoT)设备的无线通信。在ESP8266的SDK固件开发中,...通过学习和实践提供的SPI使用demo,可以加深对SPI协议的理解,并有效地利用SPI实现与其他硬件设备的高效通信。

    双机通信 通过spi

    ### 双机通信通过SPI详解 #### SPI简介 SPI(Serial Peripheral Interface)是一种同步串行接口标准,广泛应用于短距离设备间的高速数据交换场景。它允许一个主设备(Master)与一个或多个从设备(Slave)进行全...

    全志平台SPI总线驱动的使用和调试方法

    ### 全志平台SPI总线驱动的使用和调试方法 #### 1. SPI驱动文件目录 在Linux操作系统中,SPI(Serial Peripheral Interface)驱动的源文件通常被组织在一个特定的目录结构中。对于全志(Allwinner)平台,SPI驱动...

    AX1003 SPI 接口使用简介

    ### AX1003 SPI接口使用详解 #### 一、SPI协议概述 SPI(Serial Peripheral Interface),即串行外设接口,是一种高速、全双工、同步通信协议,主要用于微控制器与外部设备之间的数据交换。它由一个主设备和一个或...

    spi_spi_SPI验证_

    在这个"spi_spi_SPI验证_"项目中,我们关注的是SPI接口的验证过程,它对于确保SPI设备的正确功能至关重要。SPI验证平台通常是一个综合性的测试环境,用于模拟不同主设备和从设备之间的交互,确保数据传输的准确性和...

    SPI使用范例_DS1302

    SPI(Serial Peripheral ...通过这个DS1302的SPI使用范例,你可以深入理解SPI通信协议的原理,掌握如何在实际项目中使用它。同时,这也是学习AVR微控制器编程和SPI通信的好材料,对于提升嵌入式系统开发能力大有裨益。

    31、两片单片机通过SPI通信实验(接收).rar

    在这个实验中,我们探讨的是如何让两片单片机通过SPI接口进行数据接收。实验主要涉及以下几个关键知识点: 1. SPI协议基础:SPI是一种全双工、同步、串行通信协议,由一个主设备(Master)控制数据传输,一个或多个...

    AXI_Quad_spi的Ip核使用.docx

    ### AXI_Quad_SPI IP核的关键知识点 ...通过合理的配置和使用,可以实现与外部SPI设备之间的高速数据交换,满足不同应用场景的需求。理解上述关键寄存器的功能和用法对于成功实现基于AXI_Quad_SPI IP核的设计至关重要。

    pic单片机spi双机通信

    标题提到的"pic单片机spi双机通信"是指在两个PIC单片机之间通过SPI接口进行数据交互。 **SPI工作模式** SPI通信有四种工作模式,由主设备(Master)和从设备(Slave)的时钟极性和时钟相位(CPOL和CPHA)设置决定。...

    SPI.rar_28335 spi编程_DSP28335 SPI_spi_tms320f28335 spi

    总之,这个"SPI.rar_28335 spi编程_DSP28335 SPI_spi_tms320f28335 spi"的压缩包提供了关于在TMS320F28335 DSP上使用SPI通信的实例,涵盖了从硬件配置到软件实现的全部步骤。通过学习和分析这个例程,开发者可以掌握...

    stm32f4通过spi用fatfs读写sd卡程序

    在STM32F4中,SPI接口通常通过配置GPIO引脚来实现,例如在本例中使用的B11作为CS(Chip Select),B13作为SCLK(Serial Clock),B14作为MISO(Master Input, Slave Output)和B15作为MOSI(Master Output, Slave ...

    SPI.zip_spi_spi vivado_spi接口代码_vivado spi接口_vivado中spi程序

    本压缩包“SPI.zip”包含了关于SPI接口在Vivado中使用的相关资料,特别是SPI接口的代码,这将帮助开发者理解如何在Vivado环境下实现SPI通信。描述中提到这些代码已经过实测,确保了其在Vivado中的可行性,这意味着...

    spi flash spi oled

    它通过SPI(Serial Peripheral Interface)接口与微控制器进行通信,以存储程序代码、配置数据或其他重要信息。SPI接口是串行通信协议,通常由四个信号线组成:MOSI(主设备输出,从设备输入)、MISO(主设备输入,...

    SPI_spi_SPI降水指数_标准化降水指数_标准化_matlab

    4. **计算SPI值**:根据转化后的数据,可以计算出每个时间段对应的SPI值,从而获得一个反映降水量异常程度的时间序列。 5. **结果分析**:SPI值可以用来识别干旱和湿润事件,例如,SPI值小于-1可能表示严重干旱,而...

    STM32 SPI实例

    - 主设备启动传输:通过设置SCK时钟并拉低NSS(或使用软件管理的CS)开始一次SPI通信。 - 数据交换:在每个时钟周期内,MOSI和MISO进行数据传输。主设备在上升沿发送数据,从设备在下降沿接收;反之,从设备在上升...

    两个stm8单片机实现spi通信

    SPI(Serial Peripheral Interface)是一种同步串行接口,广泛应用于微...实际操作中,开发者需要对SPI协议有深入理解,并掌握STM8的SPI接口使用方法,同时,通过LED灯的状态实时监控通信效果,确保系统的可靠运行。

    spi程序及说明.zip_SPI 计算程序_SPI指数_SPI计算过程_spi 干旱_spi程序怎么调

    SPI(Standardized Precipitation Index,标准化降水指数)是一种广泛使用的气象干旱指数,它通过将连续的降水量数据标准化来评估区域的干旱状况。SPI能够反映出不同时间尺度上的降水异常,从短期的几周到长期的几年...

Global site tag (gtag.js) - Google Analytics