- 使用 Spring Initializr 创建 Spring Boot 应用程序
- 在Spring Boot中配置Cassandra
- 在 Spring Boot 上配置 Tomcat 连接池
- 将Camel消息路由到嵌入WildFly的Artemis上
本文整理了Java中org.n52.security.common.xml.XMLPath
类的一些代码示例,展示了XMLPath
类的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。XMLPath
类的具体详情如下:
包路径:org.n52.security.common.xml.XMLPath
类名称:XMLPath
[英]Represents an XPath and its evaluation.
You create a "source" XMLPath by using the XMLPathCtx#findIn methods. From there you can use the
Sample (finds a root node of a document):
XMLPathCtx ctx = XMLPathCtx.createNew()
.addNamespace("t", "http://tempuri.org/test");
Node result = ctx.findIn(document).node("/*").get();
[中]表示XPath及其求值。
您可以使用XMLPathCtx#findIn方法创建一个“源”XMLPath。从那里你可以使用
*#节点(字符串)
*#全部(字符串)
*#布尔(弦)
*#编号(字符串)
*#文本(字符串)
方法来构建一个完整的xpath。创建完整的xpath后,可以调用每个具体XMLPath实例的get()方法,以获取查询结果。
示例(查找文档的根节点):
XMLPathCtx ctx = XMLPathCtx.createNew()
.addNamespace("t", "http://tempuri.org/test");
Node result = ctx.findIn(document).node("/*").get();
代码示例来源:origin: org.n52.security/52n-security-decision-xacml
private void debugPDPResponse(Element response) {
StringBuilder text = new StringBuilder();
String resourceId = XMLPathCtx.createNew().findIn(response).text("//*[local-name() = 'Result']/@ResourceId").get();
String decision = XMLPathCtx.createNew().findIn(response).text("//*[local-name() = 'Result']/*[local-name() = 'Decision']/text()").get();
text.append("Resource: \t").append(resourceId ).append("\n");
text.append("Decision: \t").append(decision).append("\n");
NodeList obligationNodes = XMLPathCtx.createNew().findIn(response).all("//*[local-name() = 'Obligation']").get();
for (int i = 0; i < obligationNodes.getLength(); i++) {
Element obligationElem = (Element) obligationNodes.item(i);
String oblId = obligationElem.getAttribute("ObligationId");
String fulfillOn = obligationElem.getAttribute("FulfillOn");
text.append("Obligation: \t").append(oblId ).append("(fulfillOn:").append(fulfillOn).append(")\n");
appendAttributeAssignments(text, XMLPathCtx.createNew().findIn(obligationElem).all(".//*[local-name()='AttributeAssignment']").get());
}
LOG.debug("PDP response\n" + text);
}
代码示例来源:origin: org.n52.security/52n-security-wss
private List<AuthenticationMethod> getSupportedAuthenticationMethods() {
List<AuthenticationMethod> supportedAuthNMethods = new ArrayList<AuthenticationMethod>();
NodeList authenticationMethodList = m_xPathCtx.findIn(m_capsDoc).all("//authn:AuthenticationMethod").get();
for (int i = 0; i < authenticationMethodList.getLength(); i++) {
org.w3c.dom.Node currentAuthMethod = authenticationMethodList.item(i);
String type = m_xPathCtx.findIn(currentAuthMethod).text("@xsi:type").get();
type = type.substring(type.lastIndexOf(":") + 1);
String method = m_xPathCtx.findIn(currentAuthMethod).text("@method").get();
AuthenticationMethod supportedAuthMethod;
if (type.equals("WASType")) {
org.w3c.dom.Node accAuthNServiceNode = m_xPathCtx.findIn(currentAuthMethod).node("//authn:AuthenticationService").get();
String wasName = m_xPathCtx.findIn(accAuthNServiceNode).text("authn:Name/text()").get();
String wasUrl = m_xPathCtx.findIn(accAuthNServiceNode).text("authn:OnlineResource/@xlink:href").get();
supportedAuthMethod = new org.n52.security.authentication.WASAuthenticationMethod(wasName, wasUrl, "");
} else {
supportedAuthMethod = AuthenticationMethodFactory.getDefault().create(method);
}
supportedAuthNMethods.add(supportedAuthMethod);
}
return supportedAuthNMethods;
}
}
代码示例来源:origin: org.n52.security/52n-security-core
if (XPathConstants.STRING == m_previous.getReturnType()) {
+ "this works only if the string is wellformed xml");
return m_xPath.evaluate(new InputSource(new StringReader((String) m_previous.eval())), getReturnType());
} else if (XPathConstants.NODE == m_previous.getReturnType()) {
return m_xPath.evaluate(m_previous.eval(), getReturnType());
} else if (XPathConstants.NODESET == m_previous.getReturnType()) {
return evalNodeList((NodeList) m_previous.eval());
} else if (m_previous.getReturnType() == null) {
return m_xPath.evaluate((InputSource) m_previous.eval(), getReturnType());
} else if (XPathConstants.NUMBER == m_previous.getReturnType()) {
} else if (XPathConstants.BOOLEAN == m_previous.getReturnType()) {
"return type of unknown format expected <" + m_previous.getReturnType() + ">");
代码示例来源:origin: org.n52.metadata/smarteditor-api
public String getTemplateFor(Document document) {
Node rootNode = context.findIn(document).node("/*[1]").get();
String serviceType = getServiceTypeFrom(rootNode);
String version = context.findIn(rootNode).text("@version").get();
return version.equals("") ? templateMap.get(serviceType) : templateMap.get(serviceType + "_" + version);
}
代码示例来源:origin: org.n52.security/52n-security-decision-xacml
public void debugPDPRequest(final Element request) {
StringBuilder text = new StringBuilder();
NodeList requestChildNodes = XMLPathCtx.createNew().findIn(request).all("/*[local-name() = 'Request']/*").get();
for (int i = 0; i < requestChildNodes.getLength(); i++) {
Element requestChild = (Element) requestChildNodes.item(i);
text.append(requestChild.getLocalName()).append("\n");
appendAttributes(text, XMLPathCtx.createNew().findIn(requestChild).all(".//*[local-name()='AttributeValue']").get());
}
LOG.debug("PDP request\n" + text);
}
代码示例来源:origin: org.n52.security/52n-security-enforcement-impl
NodeList queryNodes = ctx.findIn(m_requestDocument).all("/GetFeature/Query").get();
Node queryFilterSubNode = ctx.findIn(queryNode).node("Filter/*").get();
代码示例来源:origin: org.n52.metadata/smarteditor-api
public String getValue(Node rootNode, XMLPathCtx context) {
String nameSpaceURI = getNamespaceURI(rootNode);
if (startsWith ? nameSpaceURI.startsWith(namespace) : nameSpaceURI.equals(namespace)) {
if (nodeExists != null && context.findIn(rootNode).node(nodeExists).get() != null) {
return value;
} else {
return value;
}
}
return null;
}
}
代码示例来源:origin: org.n52.metadata/smarteditor-api
private void buildExtentTemplate(Document document, Map<String, String> hashMap, XMLPathCtx xmlPathCtx) {
hashMap.put("west", xmlPathCtx.findIn(document).text("//gmd:westBoundLongitude/*/text()").get());
hashMap.put("east", xmlPathCtx.findIn(document).text("//gmd:eastBoundLongitude/*/text()").get());
hashMap.put("north", xmlPathCtx.findIn(document).text("//gmd:northBoundLatitude/*/text()").get());
hashMap.put("south", xmlPathCtx.findIn(document).text("//gmd:southBoundLatitude/*/text()").get());
}
代码示例来源:origin: org.n52.security/52n-security-core
/**
* Method evals a path on a NodeList.
*
* @param nodeList the nodeList.
* @return Object.
* @throws XPathExpressionException if error occurs.
*/
private Object evalNodeList(final NodeList nodeList) throws XPathExpressionException {
if (getReturnType() != XPathConstants.NODESET) {
for (int i = 0, l = nodeList.getLength(); i < l; ++i) {
Object result = m_xPath.evaluate(nodeList.item(i), getReturnType());
if (result != null) {
return result;
}
}
return null;
} else {
SimpleNodeList resultNodes = new SimpleNodeList();
for (int i = 0, l = nodeList.getLength(); i < l; ++i) {
resultNodes.addAll((NodeList) m_xPath.evaluate(nodeList.item(i), getReturnType()));
}
return resultNodes;
}
}
代码示例来源:origin: org.n52.security/52n-security-enforcement-impl
/**
* Get position from feature node.
*
* @param node
* feature
* @return position as text
*/
private String getPositionFromSamplingPoint(Node node) {
NodeList nl =
ctxResponse
.findIn(node)
.all("./" + SOSInterceptorGlobals.ELEMENT_SA_POSITION + "/"
+ SOSInterceptorGlobals.ELEMENT_GML_POINT + "/"
+ SOSInterceptorGlobals.ELEMENT_GML_POS).get();
for (int i = 0; i < nl.getLength();) {
return nl.item(i).getTextContent();
}
return "0 0";
}
代码示例来源:origin: org.n52.security/52n-security-enforcement-impl
ctx.findIn(doc).all("//*/sos:ObservationOfferingList/sos:ObservationOffering").get();
NodeList procedureList =
ctx.findIn(doc)
.all("//*/sos:ObservationOfferingList/sos:ObservationOffering[@gml:id='"
+ offeringID + "']/sos:procedure").get();
NodeList observedPropertyList =
ctx.findIn(doc)
.all("//*/sos:ObservationOfferingList/sos:ObservationOffering[@gml:id='"
+ offeringID + "']/sos:observedProperty").get();
NodeList featureOfInterestList =
ctx.findIn(doc)
.all("//*/sos:ObservationOfferingList/sos:ObservationOffering[@gml:id='"
+ offeringID + "']/sos:featureOfInterest").get();
.node("//*/ows:OperationsMetadata/ows:Operation/ows:Parameter[@name='eventTime']/ows:AllowedValues/ows:Range/ows:MinimumValue")
.get();
Node maximumValue =
ctx.findIn(doc)
.node("//*/ows:OperationsMetadata/ows:Operation/ows:Parameter[@name='eventTime']/ows:AllowedValues/ows:Range/ows:MaximumValue")
.get();
代码示例来源:origin: org.n52.security/52n-security-wss
private Node getSecuredServiceTypeNode() {
Node securedServiceTypeNode = m_xPathCtx.findIn(m_capsDoc).node("//wss:SecuredServiceType").get();
return securedServiceTypeNode;
}
代码示例来源:origin: org.n52.metadata/smarteditor-api
private void buildPartyTemplate(Document document, Map<String, String> hashMap, XMLPathCtx xmlPathCtx) {
hashMap.put("IndividualName", xmlPathCtx.findIn(document).text("//gmd:individualName/*/text()").get());
hashMap.put("PositionName", xmlPathCtx.findIn(document).text("//gmd:positionName/*/text()").get());
hashMap.put("OrganisationName", xmlPathCtx.findIn(document).text("//gmd:organisationName/*/text()").get());
hashMap.put("Voice", xmlPathCtx.findIn(document).text("//gmd:contactInfo/*/gmd:phone/*/gmd:voice/*/text()").get());
hashMap.put("Fax", xmlPathCtx.findIn(document).text("//gmd:contactInfo/*/gmd:phone/*/gmd:facsimile/*/text()").get());
hashMap.put("DeliveryPoint", xmlPathCtx.findIn(document).text("//gmd:contactInfo/*/gmd:address/*/gmd:deliveryPoint/*/text()").get());
hashMap.put("City", xmlPathCtx.findIn(document).text("//gmd:contactInfo/*/gmd:address/*/gmd:city/*/text()").get());
hashMap.put("AdministrativeArea", xmlPathCtx.findIn(document).text("//gmd:contactInfo/*/gmd:address/*/gmd:administrativeArea/*/text()").get());
hashMap.put("PostalCode", xmlPathCtx.findIn(document).text("//gmd:contactInfo/*/gmd:address/*/gmd:postalCode/*/text()").get());
hashMap.put("Country", xmlPathCtx.findIn(document).text("//gmd:contactInfo/*/gmd:address/*/gmd:country/*/text()").get());
hashMap.put("MailAddress", xmlPathCtx.findIn(document).text("//gmd:contactInfo/*/gmd:address/*/gmd:electronicMailAddress/*/text()").get());
hashMap.put("Role", xmlPathCtx.findIn(document).text("//gmd:role/*/@codeListValue").get());
hashMap.put("Url", xmlPathCtx.findIn(document).text("//gmd:contactInfo/*/gmd:onlineResource/*/gmd:linkage/gmd:URL").get());
}
代码示例来源:origin: org.n52.security/52n-security-wss
/**
* @return
*/
public LicensePrecondition getLicensePrecondition() {
org.w3c.dom.Node licBroClientElement = m_xPathCtx.findIn(m_capsDoc).node("/wss:WSS_Capabilities/wss:Capability/licb:LicensePrecondition/licb:LicenseBrokerClient").get();
if (licBroClientElement == null) {
return null;
}
String licenseRedirectURL = m_xPathCtx.findIn(licBroClientElement).text("licb:RedirectURL/text()").get();
String ssoGetURL = m_xPathCtx.findIn(licBroClientElement).text("licb:SSOGetURL").get();
if (licenseRedirectURL == null && ssoGetURL == null) {
String baseUrl = m_xPathCtx.findIn(licBroClientElement).text("ows:DCP/ows:HTTP/ows:Post/text()").get();
if (baseUrl == null) {
return null;
}
baseUrl = ensureSingleEndingSlash(baseUrl);
licenseRedirectURL = baseUrl + "getOrCreateLicenseToken.faces";
ssoGetURL = baseUrl + "getLicenseToken.faces";
}
LicensePrecondition licensePrecondition = new LicensePrecondition(ssoGetURL.trim(), licenseRedirectURL.trim(), null);
return licensePrecondition;
}
代码示例来源:origin: org.n52.metadata/smarteditor-api
for (Document record : records) {
Map<String, Object> innerMap = new HashMap<>();
String fileIdentifier = context.findIn(record).text("//gmd:fileIdentifier[1]/*/text()").get();
String title = context.findIn(record).text("//gmd:identificationInfo[1]/*/gmd:citation/*/gmd:title/*/text()").get();
String lResourceType = context.findIn(record).text("//gmd:hierarchyLevel[1]/*/@codeListValue").get();
innerMap.put("title", title);
innerMap.put("resourceType", lResourceType);
NodeList identifiers = context.findIn(record).all("//gmd:identificationInfo[1]/*/gmd:citation/*/gmd:identifier/*").get();
List<String> resourceIdList = new ArrayList<>();
for (int i = 0; i < identifiers.getLength(); i++) {
Node node = identifiers.item(i);
String code = context.findIn(node).text("gmd:code/*/text()").get();
String codeSpace = context.findIn(node).text("gmd:codeSpace/*/text()").get();
StringBuilder stringBuilder = new StringBuilder();
if (!StringUtils.isEmpty(codeSpace)) {
代码示例来源:origin: org.n52.security/52n-security-enforcement-impl
/**
* Get position from feature node.
*
* @param node
* feature
* @return position as text
*/
private String getPositionFromSamplingPoint(Node node) {
NodeList nl =
ctx.findIn(node)
.all("./" + SOSInterceptorGlobals.ELEMENT_SA_POSITION + "/"
+ SOSInterceptorGlobals.ELEMENT_GML_POINT + "/"
+ SOSInterceptorGlobals.ELEMENT_GML_POS).get();
for (int i = 0; i < nl.getLength();) {
return nl.item(i).getTextContent();
}
return "0 0";
}
代码示例来源:origin: org.n52.security/52n-security-enforcement-impl
ctx.findIn(doc).all("//*/sos:Contents/sos:ObservationOfferingList/sos:ObservationOffering").get();
.node("//*/sos:Contents/sos:ObservationOfferingList/sos:ObservationOffering[@gml:id='"
+ offeringID + "']/sos:time/gml:TimePeriod/gml:beginPosition").get();
.node("//*/sos:Contents/sos:ObservationOfferingList/sos:ObservationOffering[@gml:id='"
+ offeringID + "']/sos:time/gml:TimePeriod/gml:endPosition").get();
代码示例来源:origin: org.n52.security/52n-security-facade
public static SAML2IdPMetadata createFrom(Element idpSsoDescrElement) throws MalformedURLException {
XMLPathCtx xpathCtx = XMLPathCtx.createNew().addNamespace("md", "urn:oasis:names:tc:SAML:2.0:metadata");
NodeList nodeList = xpathCtx.findIn(idpSsoDescrElement).all("md:SingleSignOnService").get();
SAML2IdPMetadata metadata = new SAML2IdPMetadata();
for (int i = 0; i < nodeList.getLength(); i++) {
Element ssoService = (Element) nodeList.item(i);
String binding = ssoService.getAttribute("Binding");
String location = ssoService.getAttribute("Location");
metadata.addSSOBinding(binding, new URL(location));
}
Element organizationElem = (Element) xpathCtx.findIn(idpSsoDescrElement).node("./../md:Organization").get();
if (organizationElem == null) {
String entityID = xpathCtx.findIn(idpSsoDescrElement).text("./../@entityID").get();
metadata.setOrganisationDisplayName(entityID);
} else {
String idpDisplayName = xpathCtx.findIn(organizationElem).text("md:OrganizationDisplayName/text()").get();
metadata.setOrganisationDisplayName(idpDisplayName);
}
return metadata;
}
代码示例来源:origin: org.n52.security/52n-security-wss
public void setAuthenticationMethods(Collection<AuthenticationMethod> methods) {
Node newSuppAuthMethodsElem = m_capsDoc.createElementNS("http://www.gdi-nrw.org/wss", "SupportedAuthenticationMethodList");
Node capabilityElement = m_xPathCtx.findIn(m_capsDoc).node("//wss:Capability").get();
Node lOldSuppAuthMethodsElem =
m_xPathCtx.findIn(capabilityElement).node("//wss:Capability/wss:SupportedAuthenticationMethodList").get();
if (lOldSuppAuthMethodsElem != null) {
capabilityElement.removeChild(lOldSuppAuthMethodsElem);
}
AuthenticationMethodDOMRenderer renderer = new AuthenticationMethodDOMRenderer();
for (AuthenticationMethod method : methods) {
Element authMethodElem = renderer.render(method);
Node importedNode = m_capsDoc.importNode(authMethodElem, true);
newSuppAuthMethodsElem.appendChild(importedNode);
}
capabilityElement.appendChild(newSuppAuthMethodsElem);
}
代码示例来源:origin: org.n52.metadata/smarteditor-api
/**
* Load a builder class defined in '/catalog_api_factory.xml'
*
* @param pType xml or kvp is standard, any other type might be given also
* @param pName Name of the REquest (GetRecords, GetCapabilities, ect)
* @return Class or null, if not loaded
*/
protected Class loadClass(String pType, String pName) {
String lExpression = "//api:BuilderFactory/api:Group[@type='" + pType + "']/api:Builder[@name='" + pName + "']/api:class";
LOG.debug("Evaluating expression: {} ", lExpression);
String className = xmlPathCtx.findIn(mRoot).text(lExpression).get();
if (className == null) {
LOG.warn(lExpression + " could not be evaluated. Result is null.");
return null;
}
try {
return Class.forName(className);
} catch (ClassNotFoundException e) {
LOG.error(e.getMessage());
return null;
}
}
我看到以下宏 here . static const char LogTable256[256] = { #define LT(n) n, n, n, n, n, n, n, n, n, n, n,
这个问题不太可能帮助任何 future 的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visit
所以我得到了这个算法我需要计算它的时间复杂度 这样的 for i=1 to n do k=i while (k<=n) do FLIP(A[k]) k
n 的 n 次方(即 n^n)是多项式吗? T(n) = 2T(n/2) + n^n 可以用master方法求解吗? 最佳答案 它不仅不是多项式,而且比阶乘还差。 O(n^n) 支配 O(n!)。同样
我正在研究一种算法,它可以在带有变音符号的字符(tilde、circumflex、caret、umlaut、caron)及其“简单”字符之间进行映射。 例如: ń ǹ ň ñ ṅ ņ ṇ
嗯..我从昨天开始学习APL。我正在观看 YouTube 视频,从基础开始学习各种符号,我正在使用 NARS2000。 我想要的是打印斐波那契数列。我知道有好几种代码,但是因为我没有研究过高深的东西,
已关闭。这个问题是 off-topic 。目前不接受答案。 想要改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 已关闭12 年前。 Improve th
谁能帮我从 N * N * N → N 中找到一个双射数学函数,它接受三个参数 x、y 和 z 并返回数字 n? 我想知道函数 f 及其反函数 f',如果我有 n,我将能够通过应用 f'(n) 来
场景: 用户可以在字符串格式的方程式中输入任意数量的括号对。但是,我需要检查以确保所有括号 ( 或 ) 都有一个相邻的乘数符号 *。因此 3( 应该是 3*( 和 )3 应该是 )*3。 我需要将所有
在 Java 中,表达式: n+++n 似乎评估为等同于: n++ + n 尽管 +n 是一个有效的一元运算符,其优先级高于 n + n 中的算术 + 运算符。因此编译器似乎假设运算符不能是一元运算符
当我阅读 this 问题我记得有人曾经告诉我(很多年前),从汇编程序的角度来看,这两个操作非常不同: n = 0; n = n - n; 这是真的吗?如果是,为什么会这样? 编辑: 正如一些回复所指出
我正在尝试在reveal.js 中加载外部markdown 文件,该文件已编写为遵守数据分隔符语法: You can write your content as a separate file and
我试图弄清楚如何使用 Javascript 生成一个随机 11 个字符串,该字符串需要特定的字母/数字序列,以及位置。 ----------------------------------------
我最近偶然发现了一个资源,其中 2T(n/2) + n/log n 类型 的递归被 MM 宣布为无法解决。 直到今天,当另一种资源被证明是矛盾的(在某种意义上)时,我才接受它作为引理。 根据资源(下面
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 8 年前。 Improve th
我完成的一个代码遵循这个模式: for (i = 0; i < N; i++){ // O(N) //do some processing... } sort(array, array + N
有没有办法证明 f(n) + g(n) = theta(n^2) 还是不可能?假设 f(n) = theta(n^2) & g(n) = O(n^2) 我尝试了以下方法:f(n) = O(n^2) &
所以我目前正在尝试计算我拥有的一些数据的 Pearson R 和 p 值。这是通过以下代码完成的: import numpy as np from scipy.stats import pearson
ltree 列的默认排序为文本。示例:我的表 id、parentid 和 wbs 中有 3 列。 ltree 列 - wbs 将 1.1.12, 1.1.1, 1.1.2 存储在不同的行中。按 wbs
我的目标是编写一个程序来计算在 python 中表示数字所需的位数,如果我选择 number = -1 或任何负数,程序不会终止,这是我的代码: number = -1 cnt = 0 while(n
我是一名优秀的程序员,十分优秀!