小编son*_*ony的帖子

如何使用XQuery检索父节点?

我正在使用XML和XQuerie.我通常使用相对于父节点的XPath表达式来检索其子节点.但是,如果我有一个子节点,我不知道如何做相反的意思,我如何检索其父节点.

<node id="50>
  <childnode1 childid="51" />
  <childnode2 childid="52" />
</node>
Run Code Online (Sandbox Code Playgroud)

如果我有节点<childnode1 childid="51" />,我该如何检索其父节点:<node id="50>

xml xpath xquery parent-child

25
推荐指数
2
解决办法
2万
查看次数

在java中打印异常消息

有没有办法在Java中打印异常消息而没有例外?

当我尝试以下代码时:

try {
    // statements
} catch (javax.script.ScriptException ex) {
    System.out.println(ex.getMessage());
}
Run Code Online (Sandbox Code Playgroud)

输出是:

Invalid JavaScript code: sun.org.mozilla.javascript.internal.EvaluatorException:
missing } after property list (<Unknown source>) in <Unknown source>; 
at line number 1
Run Code Online (Sandbox Code Playgroud)

有没有办法打印消息而没有异常信息,源和行号信息.换句话说,我想在输出中打印的消息是:

missing } after property list
Run Code Online (Sandbox Code Playgroud)

java exception-handling

21
推荐指数
2
解决办法
11万
查看次数

如何在xquery赋值中使用if else

我试图使用if条件为xquery中的变量赋值.我不知道该怎么做.

这是我试过的:

declare namespace libx='http://libx.org/xml/libx2';
declare namespace atom='http://www.w3.org/2005/Atom';
declare variable $entry_type as xs:string external;
let $libx_node :=
    if ($entry_type = 'package' or 'libapp') then
      {element {fn:concat("libx:", $entry_type)} {()} }
    else if ($entry_type = 'module') then
      '<libx:module>
        <libx:body>{$module_body}</libx:body>
      </libx:module>'
Run Code Online (Sandbox Code Playgroud)

此代码抛出[XPST0003]不完整的'if'表达式错误.有人可以帮我解决这个问题吗?

此外,有人可以建议一些很好的教程来学习xqueries.

谢谢,索尼

xquery if-statement assignment-operator

16
推荐指数
1
解决办法
7万
查看次数

使用Zombie.js转储浏览器文档内容

使用browser.visit,我正在获取浏览器的页面,如文档中所示.根据浏览器API,browser.document返回主窗口的文档.但是,我不知道如何转储(显示)文档的内容.有没有像browser.document.toString()或browser.document.text()这样的方法能够在控制台中打印文档的内容.

谢谢,索尼

zombie.js

5
推荐指数
2
解决办法
4631
查看次数

如何使用 xquery 替换属性的值

我有一个xml文档如下

<users>
  <user test="oldvalue">
   <userid>sony</userid>
   <name>vijay</name>
  </user>
</users>
Run Code Online (Sandbox Code Playgroud)

我正在尝试编写一个 xquery 来 1) 找到具有给定 userid 的用户 - sony 2) 将给定用户的“test”属性的值更改为“newvalue”。

我正在尝试以下操作:(其中 doc_name = xml 文档的名称,userid = sony)

declare variable $doc_name as xs:string external;
declare variable $userid as xs:string external;
let $users_doc := doc($doc_name)/users

let $old := $users_doc/user[userid=$userid]/@test="oldvalue"
let $new := $users_doc/user[userid=$userid]/@test="newvalue"

return replace node $old with $new
Run Code Online (Sandbox Code Playgroud)

我看到以下错误: [XUTY0008] 预期作为替换目标的单个元素、文本、属性、注释或 pi。

我该如何解决?

xquery xquery-update

4
推荐指数
1
解决办法
9843
查看次数

如果XQuery包含给定的关键字,则返回文本节点

我的xml文件的测试样本如下所示:

的test.xml

<feed>
  <entry>
    <title>Link ISBN</title>
    <libx:libapp xmlns:libx="http://libx.org/xml/libx2" />
  </entry>
  <entry>
    <title>Link Something</title>
    <libx:module xmlns:libx="http://libx.org/xml/libx2" />
  </entry>
</feed>
Run Code Online (Sandbox Code Playgroud)

现在,我想编写一个xquery,它将找到所有<entry>具有<libx:libapp>子元素的元素.然后,对于所有这样的条目,如果标题包含给定的关键字(例如链接),则返回标题.因此,在我的示例xml文档中,xquery应该返回"Link ISBN".

我的示例xquery如下所示:

samplequery.xq(此处doc_name是上面显示的xml文件,libapp_matchkey是关键字,例如'Link')

declare namespace libx='http://libx.org/xml/libx2';
declare variable $doc_name as xs:string external;
declare variable $libpp_matchkey as xs:string external;
let $feeds_doc := doc($doc_name)

for $entry in $feeds_doc/feed/entry
   (: test whether entry has libx:libapp child and has "Link" in its title child :)
   where ($entry/libx:libapp and $entry/title/text()[contains(.,$libapp_matchkey)])
    return $entry/title/text()
Run Code Online (Sandbox Code Playgroud)

此xquery返回null而不是预期的结果'Link ISBN'.这是为什么?

xpath xquery

4
推荐指数
1
解决办法
1万
查看次数

使用 XSLT 修改 xml 文档

我想了解是否有一种方法可以使用 XSLT 修改 xml 文档,或者还有比 XSLT 更好的方法吗?

比如说,我有一个像这样的 xml:

<feed xmlns="http://www.w3.org/2005/Atom">
<id>http://libx.org/libx2/libapps</id>
<entry>
<id>http://libx.org/libx2/libapps/2</id>
</entry>
<entry>
<id>http://libx.org/libx2/libapps/3</id>
</entry>
</feed>
Run Code Online (Sandbox Code Playgroud)

我想采取以下行动:

  1. 修改 feed:id 为(去掉 feed:id 的文字)
  2. 修改entry:id 值,以便保留“/”之后的最后一个数字值。

结果 xml 应该如下所示:

<feed xmlns="http://www.w3.org/2005/Atom">
<id></id>
<entry>
<id>2</id>
</entry>
<entry>
<id>3</id>
</entry>
</feed>
Run Code Online (Sandbox Code Playgroud)

谢谢,索尼

xml xslt

4
推荐指数
1
解决办法
3255
查看次数

如何使用xquery查找数据库中是否存在文档

我在BaseX XML数据库上使用xquery.说,我的数据库中存储了以下文档:doc1,doc2,doc3.

我用什么Xquery来检查给定文档的存在.我尝试了以下方法:

将变量$ doc_name声明为xs:string external;

return boolean($ doc_name)

我希望它的工作方式如下:if doc_name = doc1如果doc_name = nodoc返回false则返回true

但是,我看到一个例外:

java.io.IOException:在第3行第7行停止:[XPST0003]查询意外结束:'boolean("doc1")'.

我也试过回来了

  • return fn:exists($ doc_name)和

  • return fn:doc-available(doc_uri)

这些也不起作用.我看到了同样的查询异常结束.检查文档存在的正确方法是什么?

谢谢,索尼

xquery

3
推荐指数
1
解决办法
2495
查看次数

错误:String的空指针deference

下面的测试代码导致字符串数组上的"空指针deference"错误(在第6行).这会导致NullPointerException.

public class TestString {
public static void main (String args[]) {
String test [] = null;
for (int i =0; i < 5; i++) {
  String testName = "sony" + i;
  test [k] = testName;
}
}
}
Run Code Online (Sandbox Code Playgroud)

- 我该如何解决? - 导致这个错误的是什么?

谢谢,索尼

java string nullpointerexception

1
推荐指数
1
解决办法
293
查看次数

在java中使用switch块而不是多个if语句

public class A {
  public void search(boolean[] searchList) {
    // searchList array is used to identify what options to search for in a given order
   // e.g. boolean [] searchList = new boolean [] {false, false, true, false};
    boolean searchL = false;
    boolean searchM = false;
    boolean searchK = false;
    boolean searchA = false;

    if(searchList[0] == true) searchL = true;
    if(searchList[1] == true) searchM = true;
    if(searchList[2] == true) searchK = true;
    if(searchList[3] == true) searchA = true;

    if(searchL == …
Run Code Online (Sandbox Code Playgroud)

java string conditional switch-statement

1
推荐指数
1
解决办法
1203
查看次数

从Java调用.js文件中的JavaScript函数

从Java文件中调用不同.js文件中的JavaScript函数的最佳方法是什么?

比如说,我在Java文件中有这样的字符串:

String test = "[name1, name2, name2]";
Run Code Online (Sandbox Code Playgroud)

我想要做的是以下内容:

  1. 将Java String转换为JavaScript数组
  2. 将JavaScript数组传递给另一个.js文件中的JavaScript函数.

谢谢,索尼

javascript java function-call

0
推荐指数
1
解决办法
5027
查看次数