我必须将org.w3c.dom.Document转换为java.lang.String.我找到了两种可能的方法,一种使用org.w3c.dom.ls.ls.LSSerializer,另一种使用javax.xml.transform.Transformer.我有下面的样品.
谁能告诉我哪种方法更受青睐?
public String docToStringUsingLSSerializer(org.w3c.dom.Document doc) {
DOMImplementationRegistry reg = DOMImplementationRegistry.newInstance();
DOMImplementationLS impl = (DOMImplementationLS) reg.getDOMImplementation("LS");
LSSerializer serializer = impl.createLSSerializer();
return serializer.writeToString(doc);
}
public String docToStringUsingTransformer(org.w3c.dom.Document doc) {
Transformer transformer = TransformerFactory.newInstance().newTransformer();
StringWriter stw = new StringWriter();
transformer.transform(new DOMSource(doc), new StreamResult(stw));
return stw.toString();
}
Run Code Online (Sandbox Code Playgroud) 我可以用一个例子来解释我的问题.我最近下载了Python for Windows,安装到C:\ Python.所以,如果我在包含myscript.py的文件夹X中,并且我想调用它,我必须调用它:
> C:\Python\python.exe myscript.py
Run Code Online (Sandbox Code Playgroud)
但是,如果我可以在任何文件夹中执行此操作,那将是非常酷的:
> python myscript.py
Run Code Online (Sandbox Code Playgroud)
我该如何制作"全球"?
我有一个带有退格字符的日志文件(^ H).我正在查看Vim中的文件,很难看到发生了什么.
理想情况下,我希望能够"应用"给定行/范围内的所有^ H,以便我可以看到最终结果.
我宁愿在Vim中逐行进行此操作,但转换整个文件的解决方案总比没有好.
我有一个应用程序需要针对不同级别的聚合进行分析,这就是OLAP工作负载.我也想经常更新我的数据库.
例如,这是我的更新看起来像(架构看起来像:时间,目标,源IP,浏览器 - >访问)
(15:00-1-2-2010, www.stackoverflow.com, 128.19.1.1, safari) --> 105
(15:00-1-2-2010, www.stackoverflow.com, 128.19.2.1, firefox) --> 110
...
(15:00-1-5-2010, www.cnn.com, 128.19.5.1, firefox) --> 110
Run Code Online (Sandbox Code Playgroud)
然后我想问一下上个月从firefox浏览器访问www.stackoverflow.com的访问量是多少.
我知道Vertica系统可以以相对便宜的方式实现这一点(明智的性能和可扩展性,但可能不是成本方面的).我这里有两个问题.
1)是否有可以构建的开源产品来解决这个问题?特别是,蒙德里安系统的运作情况如何?(可扩展性和性能)2)是否有HBase或Hypertable基础解决方案(显然,裸HBase/Hypertable不能这样做)? - 但如果有基于HBase/Hypertable的项目,可扩展性可能不会成为IMO的问题)?
谢谢!
我是sqlalchemy的新手,虽然文档似乎相当彻底,但我找不到一种方法来做我想要的.
说我有两张桌子:论坛和帖子.每个论坛都有一个家长论坛和任意数量的帖子.我想要的是:
所以我开始:
query(Forum).filter(Forum.parent==None).all()
Run Code Online (Sandbox Code Playgroud)
这给了我所有顶级论坛.当然,访问子论坛会产生n个选择查询.
query(Forum).options(eagerload('children')).filter(Forum.parent==None).all()
Run Code Online (Sandbox Code Playgroud)
这解决了n选择问题.
现在我最好的猜测是这样的:
query(Forum, func.count(Forum.children.posts)).options(eagerload('children')).filter(Forum.parent==None).group_by(Forum.children.id).all()
Run Code Online (Sandbox Code Playgroud)
但我得到的只是:
AttributeError: Neither 'InstrumentedAttribute' object nor 'Comparator' object has an attribute 'posts'
Run Code Online (Sandbox Code Playgroud)
我尝试了一些变化,但没有进一步.为了清楚起见,我正在寻找相当于这个SQL:
select Forum.*, Child.*, count(Post.id)
from Forum
left join Forum Child on Child.parent = Forum.id
left join Message on Message.forum = Child.id
where Forum.parent is null
group by Child.id
Run Code Online (Sandbox Code Playgroud) 我有一个看起来像这样的课:
class X[A <: Throwable, B, C](b: B, c: C)
Run Code Online (Sandbox Code Playgroud)
可以推断出A,B和C,所以我可以用以下方法实例化它:
val x = new X(3, 4)
Run Code Online (Sandbox Code Playgroud)
这给了我一个X [Nothing,Int,Int] - 经常是我想要的.
但我有时想将A指定为Nothing以外的东西(比如说AssertionError).如果没有指定B和C,这是否可行.我想象的语法如下:
val x = new X[AssertionError](3, 4)
val x = new X[AssertionError, _, _](3, 4)
val x = new X[AssertionError,,](3, 4)
Run Code Online (Sandbox Code Playgroud)
但显然这不起作用.
是否有一些语法,或者某种方式我可以达到相同的结果?
我正在尝试设置分层PKI.我是否可以创建仅包含根ca证书的信任库,这是否意味着我的应用程序信任由sub-ca证书签署的证书,而该证书又由root ca签名?
顺便说一下,您似乎必须提供整个证书链,包括根证书.当然,如果根ca是可信的,则不需要发送证书?我们只想检查下一个证书是否由它签名.
我有一个具有多个"根"的JTree(当然,我实际上有一个有多个孩子的隐形真根).
双击时节点会展开和折叠,但由于没有展开器图标,因此没有可视指示可以执行此操作.
由于默认情况下树被折叠这一事实使情况变得更糟,但扩展"根"并没有真正帮助,因为每个人都有很多孩子并且它看起来很杂乱.
有没有办法显示扩展器图标而不会使真实(并且完全没价值)的根可见?
任何其他建议,以使显示更清晰的欢迎.
我想从distutils创建一个只有字节码的发行版(不是真的,我这样做;我知道我在做什么).使用setuptools和bdist_egg命令,您只需提供--exclude-source参数即可.不幸的是,标准命令没有这样的选项.
我想使用MVC来构建我的Swing应用程序,但似乎存在冲突.
据我了解MVC,控制器应处理输入并更新模型.该模型应通知其观察者视图是哪一个.
我有两个问题
我敢肯定这个问题以前已经解决了很多次,但我找不到一个真实世界的例子,它是一个体面大小的基于MVC的摇摆应用程序.
更新 - 我忘了一个问题
MVC没有直接满足的是应用程序层次结构中各种MVC组件的结构.例如,主显示器可以具有"销售"和"购买"标签,每个标签可以具有"新"和"查询"面板.最重要的是,可能会有一个"修改选定"按钮,可以根据请求创建(可能是多个)窗口.
必须根据请求为这些子组件创建模型,视图和控制器.它不能是控制器或模型的控制器,因为它们不知道要创建哪个视图,因为它是应用程序逻辑并且它响应事件(这是控制器的工作),所以它不应该是视图.
有答案吗?