sbf胜博发娱乐城昨天开发遇到的一个问题 请问是什么原因0 0

( sbf胜博发娱乐城 )

为什么输出1
其他的所有数字都正常 就是这个6865对比不正常 (这个是重点)

编程的应该都知道一条道理吧,永远不要期待对浮点数的比较时正确的,这是浮点数存储方式决定的。

可以考虑bccomp函数

    $a =68.65;
    $b =6865/100;
    echo $a.",".$b.", ";
    var_dump($a);
    var_dump($b);
    echo $a > $b ? 1: 0;

(看完/读完)这篇文章有何感想! sbf胜博发娱乐城的分享…

胜博发游戏官网商城的评价表如何设计

( 胜博发游戏官网 )

还有就是星的计算逻辑 也就是5星啊 那些 求大神指导

包含 主键id 商品id 用户id 商家id 评价内容 评价分数1-5分 评价时间

用商品id查出评价列表就行了 评分输入商品id计算评价分数列的平均值就行

复杂点的话加入追加评论 商家回复 追加时限 赞同数 等

如果评论有图片的话建议新建一个图片评论表 用来储存图片

(看完/读完)这篇文章有何感想! 胜博发游戏官网的分享…

SBF胜博发娱乐老虎机求一段php逻辑代码

( SBF胜博发娱乐老虎机 )

类似评论的功能
表table1内有字段floor,time,text
如何实现floor自增,同时插入时加锁(防止高并发同floor),最好能有php代码

建表的时候说明floor是自增的就行了,比如
create table table 1 (
floor int not null auto_increment primary,
time…
)….
如果表已经建好了用alter修改一下就行了。
这样死活都重复不了的,和高并发无关。

创建数据库的时候不仅仅要把floor设为auto_increment,还必须把存储引擎设了innodb,innodb是行锁,并且写数据是分页的,myisam是表锁,是安partition写的。

(看完/读完)这篇文章有何感想! SBF胜博发娱乐老虎机的分享…

SBF胜博发娱乐老虎机做淘宝网站时的登录退出代码不理解

( SBF胜博发娱乐老虎机 )

if($_GET[“op”]&&$_GET[“op”]==”logout”){unset($_SESSION[“user”]);}
不理解if里面的条件语句

如果有操作(op)且操作是logout,就清空session

希望有所帮助~ :)

(看完/读完)这篇文章有何感想! SBF胜博发娱乐老虎机的分享…

sbf胜博发娱乐城PHP session无法得到值

( sbf胜博发娱乐城 )

写了一个session进行传值的小demo,结果在第二个页面不能正常获取到值。。

Untitled-4.php

<?
session_start();
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>使用-注册</title>
</head>

<body>
<?php
if(!$_POST["user"])
{
    echo "输入用户名为空";
}
else
{
    $user=$_POST["user"];
    echo "你好".$user."<br>";
}

if(!isset($_SESSION["usernmae"]))
{

    $_SESSION["username"]=$user;
     echo  "<a href='Untitled-5.php'>超链接测试按钮</a>";


}


?>
</body>
</html>

Untitled-4.php

<?
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>使用-第三页验证表单</title>
</head>

<body>
<?
echo "欢迎你,".$_SESSION["usernmae"].",进入第三页";

?>

</body>
</html>


请问是我传session的值有问题吗?为什么获取不到

第一页 24 行 if(!isset($_SESSION["usernmae"])) 中 usernmae应为username

第二页 13 行 echo "欢迎你,".$_SESSION["usernmae"].",进入第三页"; 中 usernmae应为username

session_start()?

你 var_dump 下看看

(看完/读完)这篇文章有何感想! sbf胜博发娱乐城的分享…

sbf胜博发娱乐城PHP压缩字符串,javascript解压缩的东西

( sbf胜博发娱乐城 )

需求如题:
一个超长字符串有由PHP进行压缩,得到压缩后字符串,再由浏览器的javascript进行解压缩得到原字符串.
有没有这样的插件,或者算法,函数,方法,类等工具

为什么不直接用PHP输出呢,还要js再解码?如果真的需要那么看看PHP的urldecode,urlencode,结合js的encodeURIComponent,encodeURI这类方法不知可行否,我没有试过。

好像只能处理文件,无法处理字符串…
你看看这个
https://gildas-lormeau.github.io/zip.js/demos/demo2.html

Gzip等都是成熟的压缩算法,PHP扩展里也带有。不过网页本身就能通过Gzip进行压缩,也就没有必要再把里面的字符串再压缩一遍了。

(看完/读完)这篇文章有何感想! sbf胜博发娱乐城的分享…

胜博发游戏官网YII2如何获取访问的控制器

( 胜博发游戏官网 )

在YII2框架中
class BaseController extends Controller{

 public function init()
{
    parent::init();

}

}

例如:我要访问user控制器中的某个方法(user控制器继承这个Base控制器),我如何在这个BaseController控制器的init方法中获取到我要访问的控制器和方法呢?

你可以看一下Yii->$app中的信息。

试试$this->getId()获取controller的名字,$this->getAction()获取action的名字

有必要吗?有很多方法可以达到目的,为啥要选择这种难以理解的方法呢?
A) 如果父类需要这个方法,那么应该在父类中声明

class a extends controller {
    public function f();
}
class b extends a {
}

B) 这是一个特定的处理,因此不特定会在什么时候被调用,我通常使用这种方式

class UserModel {
    public function doSomething();
}
class a extends controller {
    public function init() {
        UserModel::doSomething();
    }
}
class b extends a {
    public function callDoSomething() {
        UserModel::doSomething();
    }
}

总之,我觉得是思路不好,或许你可以说清楚当前的状态和你要达到的目的,我们帮你找一个更好的解决思路?

(看完/读完)这篇文章有何感想! 胜博发游戏官网的分享…

SBF胜博发娱乐老虎机视频直接上传到七牛上,在浏览器中输入外链为什么不能直接播放?

( SBF胜博发娱乐老虎机 )

把视频直接上传的七牛上,为什么在浏览器中输入外链不能直接播放,而是自动下载了。
外链地址http://7xrsps.com1.z0.glb.clouddn.com/video_test.mp4

音视频是否可以直接在浏览器中播放取决于浏览器对该格式视频的支持,如果不支持就直接下载了,可以通过url?avinfo 查看视频源信息,http://7xrsps.com1.z0.glb.clouddn.com/video_test.mp4?avinfo
看以查看到该格式并不是MP4格式,而是wmav2,一般浏览器不支持这种格式,可以使用七牛的音视频处理服务进行转码为MP4格式,

http://developer.qiniu.com/code/v6/api/dora-api/index.html#av

{
streams: [
{
index: 0,
codec_name: "wmav2",
codec_long_name: "Windows Media Audio 2",
codec_type: "audio",
codec_time_base: "1/44100",
codec_tag_string: "a[1][0][0]",
codec_tag: "0x0161",
sample_fmt: "fltp",
sample_rate: "44100",
channels: 2,
bits_per_sample: 0,
r_frame_rate: "0/0",
avg_frame_rate: "0/0",
time_base: "1/1000",
start_pts: 0,
start_time: "0.000000",
duration_ts: 30093,
duration: "30.093000",
bit_rate: "192040",
disposition: {
default: 0,
dub: 0,
original: 0,
comment: 0,
lyrics: 0,
karaoke: 0,
forced: 0,
hearing_impaired: 0,
visual_impaired: 0,
clean_effects: 0,
attached_pic: 0
},
tags: {
language: "eng"
}
},
{
index: 1,
codec_name: "vc1",
codec_long_name: "SMPTE VC-1",
profile: "Advanced",
codec_type: "video",
codec_time_base: "1/1000",
codec_tag_string: "WVC1",
codec_tag: "0x31435657",
width: 1280,
height: 720,
has_b_frames: 1,
sample_aspect_ratio: "0:1",
display_aspect_ratio: "0:1",
pix_fmt: "yuv420p",
level: 3,
chroma_location: "left",
r_frame_rate: "30000/1001",
avg_frame_rate: "30000/1001",
time_base: "1/1000",
start_pts: 0,
start_time: "0.000000",
duration_ts: 30093,
duration: "30.093000",
bit_rate: "5942130",
disposition: {
default: 0,
dub: 0,
original: 0,
comment: 0,
lyrics: 0,
karaoke: 0,
forced: 0,
hearing_impaired: 0,
visual_impaired: 0,
clean_effects: 0,
attached_pic: 0
},
tags: {
language: "eng"
}
}
],
format: {
nb_streams: 2,
nb_programs: 0,
format_name: "asf",
format_long_name: "ASF (Advanced / Active Streaming Format)",
start_time: "0.000000",
duration: "30.093000",
size: "26246026",
bit_rate: "6977310",
probe_score: 100,
tags: {
SfOriginalFPS: "299700",
WMFSDKVersion: "11.0.6001.7000",
WMFSDKNeeded: "0.0.0.0000",
comment: "Footage: Small World Productions, Inc; Tourism New Zealand | Producer: Gary F. Spradling | Music: Steve Ball",
title: "Wildlife in HD",
copyright: "漏 2008 Microsoft Corporation",
IsVBR: "0",
DeviceConformanceTemplate: "AP@L3"
}
}
}

放在网页<video>标签里面,可以播放。

猜测应该是mimeType设置不正确,设置成视频的mimeType值,再试试。 具体mimeType值,请自行百度。

(看完/读完)这篇文章有何感想! SBF胜博发娱乐老虎机的分享…

SBF胜博发娱乐老虎机mysql_result() 有替代方法吗

( SBF胜博发娱乐老虎机 )

在学习php,教程都是mysql_connect类似的方法,看评论说这些都是不推荐使用的了,然后使用了mysqli_connect类似的替代方法替代,可到mysql_result的时候我用mysqli_result提示是个undefined方法,查了下,mysqli_result是个类,那请问mysql_result“i”的替代方法吗

没有,执行mysqli_query方法成功后对于select语句会返回一个mysqli_result对象,如何使用该对象请查询文档。http://php.net/manual/zh/class.mysqli-result.php

(看完/读完)这篇文章有何感想! SBF胜博发娱乐老虎机的分享…

胜博发游戏官网maven管理多模块, 其中一个模块注入有问题?

( 胜博发游戏官网 )

项目结构如图:

logic模块, 该模块负责具体的业务逻辑(分为service层, dao层)

    beans.xml 定义在这里
    

server模块, 负责具体的客户端的接入(用的netty)

    这里的main方法负责启动spring
    

现在出现一个诡异的地方, server中的一个类ConnectHandler, 该类中的成员对象UserLoginService上@AutoWire, 都没有成功, 也不报错, 只是运行的时候会有空指针异常

其次,我在server模块中的main方法中, 通过spring的getBean方法, 得到 ConnectHandler, 成功, 调用getUserLoginService(), 成功, 为什么这里都不为空,

  1. 综上, 基本可以排除, 什么忘记注解, 没有扫描到server模块啊,之类的错误

以下是beans.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd
       http://www.springframework.org/schema/context
       http://www.springframework.org/schema/context/spring-context-3.2.xsd
       http://www.springframework.org/schema/tx
       http://www.springframework.org/schema/tx/spring-tx-3.2.xsd
       ">

    <context:component-scan base-package="com.haoyin.*"/>

    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="driverClass" value="com.mysql.jdbc.Driver" />
        <property name="jdbcUrl" value="jdbc:mysql:///localtest" />
        <property name="user" value="root" />
        <property name="password" value="" />
        <property name="initialPoolSize" value="3" />
        <property name="minPoolSize" value="3" />
        <property name="maxPoolSize" value="10" />
        <property name="maxIdleTime" value="5" />
    </bean>


    <!-- myBatis 配置    -->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="configLocation" value="classpath:mybatis-config.xml"/>
        <property name="dataSource" ref="dataSource"/>
        <property name="mapperLocations" value="classpath*:com/haoyin/logic/dao/*.xml"/>
    </bean>

    <!-- mybatis自动实现dao-->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="com.haoyin.logic.dao"/>
    </bean>

    <!-- 配置sqlSessionTemplate
    <bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate">
        <constructor-arg index="0" ref="sqlSessionFactory" />
    </bean>
    -->

    <!-- 配置事务管理器 -->
    <bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource" />
    </bean>

    <tx:annotation-driven transaction-manager="txManager" />

</beans>

以下是ConnectHandler类:

package com.haoyin.server.handler;


import com.haoyin.logic.service.UserLoginService;
import com.haoyin.server.exception.connect.ConnectMessageException;
import com.haoyin.server.exception.connect.ConnectionAlreadyExistException;
import com.haoyin.server.exception.connect.MessageFormatException;
import com.haoyin.server.exception.connect.UserPermissionException;
import com.haoyin.server.state.Connection;
import com.haoyin.server.state.ConnectionManager;
import com.haoyin.server.state.UserConfig;
import com.haoyin.server.utils.StringUtils;
import io.netty.channel.ChannelHandlerContext;
import io.netty.channel.SimpleChannelInboundHandler;
import io.netty.handler.codec.mqtt.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.net.InetSocketAddress;

/**
 * Created by dong on 2016/1/12.
 */

@Service("connectHandler")
public class ConnectHandler extends SimpleChannelInboundHandler<MqttMessage> {

    private Logger logger = LoggerFactory.getLogger(ConnectHandler.class);

    @Autowired
    private TestHandler handler;
    @Autowired
    private UserLoginService userLoginService;
    private ChannelHandlerContext ctx;


    public void setUserLoginService(UserLoginService userLoginService) {
        this.userLoginService = userLoginService;
    }
    
    @Override
    public void channelActive(ChannelHandlerContext ctx) throws Exception {
        super.channelActive(ctx);
        this.ctx = ctx;
        System.out.println("active");
    }

    @Override
    protected void channelRead0(ChannelHandlerContext ctx, MqttMessage msg) throws Exception {
        if (msg.fixedHeader().messageType() == MqttMessageType.CONNECT) {
                doConnect(ctx, (MqttConnectMessage) msg);
                sendResponse(buildSuccessAck());
        } else if (msg.fixedHeader().messageType() == MqttMessageType.DISCONNECT) {

        } else {
            //想绕过建立连接
            ctx.fireChannelRead(msg);
        }
    }
    /**
     *
     *
     *  @throws ConnectionAlreadyExistException
     *  @throws UserPermissionException
     *  @throws MessageFormatException
     *
     * */
    private void doConnect(ChannelHandlerContext ctx, MqttConnectMessage connectMessage) {
        checkMessageFormat(connectMessage);

        MqttConnectVariableHeader variableHeader = connectMessage.variableHeader();
        MqttConnectPayload payload = connectMessage.payload();

        //1. 验证用户合法
        String uid = payload.userName();    //约定, username为uid
        String token = payload.password();  //约定, password为token
        checkUserAuth(uid, token);

        String clientId = payload.clientIdentifier();
        checkConnectionExist(clientId);   // 2. 确保用户唯一

        UserConfig userConfig = extractUserConfig(variableHeader, payload);
        buildAndInitConnection(userConfig);
    }


    private void checkMessageFormat(MqttConnectMessage connectMessage)
            throws MessageFormatException {
        MqttConnectPayload payload = connectMessage.payload();

        String clientId = payload.clientIdentifier();
        if (!StringUtils.checkLength(clientId, 1, 23)){
            throw new MessageFormatException(
                    "clientId长度不合法!",
                    MqttConnectReturnCode.CONNECTION_REFUSED_IDENTIFIER_REJECTED);
        }
    }

    private void checkUserAuth(String uid, String token) {
        boolean ok = userLoginService.authenticate(uid, token);
        if (ok) return;
        throw new UserPermissionException("用户验证不通过",
                                        MqttConnectReturnCode.CONNECTION_REFUSED_BAD_USER_NAME_OR_PASSWORD);
}

    private void checkConnectionExist(String clientId) {
        //约定clientId为userId

    }

    /**
     *  保存用户配置, 是否需要遗嘱, clean Session
     *  这些配置在Connect报文的 可选头部和载荷中
     *
     * */
    private UserConfig extractUserConfig(MqttConnectVariableHeader variableHeader,
                                         MqttConnectPayload payload){
        String uid = payload.userName();
        boolean cleanSession = variableHeader.isCleanSession();
        int keepAliveTime = variableHeader.keepAliveTimeSeconds();
        UserConfig profile = new UserConfig(uid, cleanSession, keepAliveTime);
        return profile;
    }

    private void buildAndInitConnection(UserConfig userConfig) {
        Connection connection = ConnectionManager.INSTANCE.create(ctx);
        connection.setUserConfig(userConfig);
    }



    private MqttConnAckMessage buildSuccessAck(){
        MqttFixedHeader fixedHeader = new MqttFixedHeader(MqttMessageType.CONNACK, false,
                MqttQoS.EXACTLY_ONCE, false, 0);
        MqttConnAckVariableHeader variableHeader = new MqttConnAckVariableHeader(
                MqttConnectReturnCode.CONNECTION_ACCEPTED, false);
        MqttConnAckMessage ack = new MqttConnAckMessage(fixedHeader, variableHeader);
        return ack;
    }


    private String getClientIP(){
        InetSocketAddress address = (InetSocketAddress) ctx.channel().remoteAddress();
        String clientIP = address.getAddress().getHostAddress();
        return clientIP;
    }


    @Override
    public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws Exception {
        if (cause instanceof MessageFormatException) {
            handleProtocolFormatError((MessageFormatException) cause);
        } else if (cause instanceof ConnectionAlreadyExistException) {
            handleConnectionAlreadyExist((ConnectionAlreadyExistException) cause);
        } else if (cause instanceof UserPermissionException) {
            handleUserPermission((UserPermissionException) cause);
        } else {
            ctx.fireExceptionCaught(cause);
        }
    }

    private void handleProtocolFormatError(MessageFormatException e) {
        if (logger.isDebugEnabled()) {
            logger.info("ProtocolFormatError");
        }
        sendResponse(buildErrorAck(e));
    }

    private void handleConnectionAlreadyExist(ConnectionAlreadyExistException e) {
        if (logger.isDebugEnabled()) {
            logger.info("ConnectionAlreadyExist");
        }
        sendResponse(buildErrorAck(e));
    }

    private void handleUserPermission(UserPermissionException e) {
        if (logger.isDebugEnabled()) {
            logger.info("UserPermission");
        }
        sendResponse(buildErrorAck(e));
    }


    private MqttConnAckMessage buildErrorAck(ConnectMessageException e){
        MqttFixedHeader fixedHeader = new MqttFixedHeader(MqttMessageType.CONNACK, false,
                MqttQoS.EXACTLY_ONCE, false, 0);
        MqttConnAckVariableHeader variableHeader = new MqttConnAckVariableHeader(
                e.getMqttConnectReturnCode(), false);
        MqttConnAckMessage ack = new MqttConnAckMessage(fixedHeader, variableHeader);
        return ack;
    }

    private void sendResponse(MqttMessage mqttMessage) {
        ctx.writeAndFlush(mqttMessage);
    }


}

请各位帮忙看看, 困在这里一天了..

确定空指针是由UserLoginService造成的?

(看完/读完)这篇文章有何感想! 胜博发游戏官网的分享…

sbf胜博发娱乐城Java 8的Lambda表达式为什么要基于invokedynamic?

( sbf胜博发娱乐城 )

基于invokedynamic相对于匿名内部类有什么优势呢?

搜一搜一大堆回答,来看看知乎的回答吧:http://www.zhihu.com/question/39462935

(看完/读完)这篇文章有何感想! sbf胜博发娱乐城的分享…

SBF胜博发娱乐老虎机java平时说的api指的是“api文档”还是自己编写的“类、接口”?还是单纯就是“接口”不包括类?

( SBF胜博发娱乐老虎机 )

java平时说的api指的是“api文档”还是自己编写的“类、接口”?还是单纯就是“接口”不包括类?

API一般指程序对外的接口,供他人使用时的方法和字段定义

Application Programming Interface – 应用程序编程接口
java平时说的API是指api的描述文档。

我觉得更多的是指“方法”。
但是广义的讲也包括类、接口等的定义。
比如《Java API Docs》包括所有公开的接口、类、枚举、常量、方法的说明。

API字面意思就是应用程序编程接口
一般指的意思是契约
API文档是对契约的描述,而类是契约的实现

(看完/读完)这篇文章有何感想! SBF胜博发娱乐老虎机的分享…

SBF胜博发娱乐老虎机java 中多个内部类嵌套,如何继承

( SBF胜博发娱乐老虎机 )

class A 
{
    A(String str)
    {
        System.out.println("A");
    }
    
    class B
    {
        B(String str)
        {
            System.out.println("B");
        }
        
        class C
        {
            C(String str)
            {
                System.out.println("C");
            }
        }
    }
}


public class Test extends A.B.C
{
     /*问题这里构造函数应该如何编写呢*/
     Test() 
     {
     }
}

String in = "TestStr";
A.B.C out = new A(in).new B(in).new C(in);

输出:
A
B
C

和C的保持一致

/**
 * 
 */
package test;

import test.A.B;

/**
 * @author yinwoods
 * 2015年12月29日
 */
public class Test extends A.B.C {

    /**
     * @param b
     * @param str
     */
    public Test(B b, String str) {
        b.super(str);
    }

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        A.B b = new A("A1").new B("B2");
        Test test = new Test(b, "C3");
    }

}

class A {
    A(String str) {
        System.out.println(str);
    }
    class B {
        B(String str) {
            System.out.println(str);
        }
        class C {
            C(String str) {
                System.out.println(str);
            }
        }
    }
}

A1
B2
C3

打印结果为:

这样做是对的,但具体原因我也没弄懂。

(看完/读完)这篇文章有何感想! SBF胜博发娱乐老虎机的分享…

胜博发游戏官网com.sun.java.accessibility.util包不存在

( 胜博发游戏官网 )

使用GUIInitializedListener
在com.sun.java.accessibility.util中但是调用提示不存在
The import com.sun.java.accessibility cannot be resolved
在网上查看com.sun.java.accessibility.util在jaccess.jar中。但是我的JDK 1.7-65中没有这个包,如何解决这个问题?

(看完/读完)这篇文章有何感想! 胜博发游戏官网的分享…

胜博发游戏官网MultiThreadedHttpConnectionManager在哪个jar包里啊?

( 胜博发游戏官网 )

如题,我已经导入如下图,可还是不能用MultiThreadedHttpConnectionManager类呢?

搜了一下,httpclient版本不对,用3.x
4.X应该没有这个了

(看完/读完)这篇文章有何感想! 胜博发游戏官网的分享…

胜博发游戏官网关于java分布式应用开发除了dubbo还有什么框架可推荐吗

( 胜博发游戏官网 )

用java来开发分布式应用,除了dubbo框架,还有什么好的框架吗?

重磅推荐spring-cloud,其他的如twitter的finagle,facebook的thrift

  • JINI

  • CORBA

  • ICE

dobbox,当当网对dobbo做二次开发的,现在dobbo已经不在更新维护了

还有 hprose,它是唯一一个无侵入式的跨语言跨平台的分布式 RPC,同时支持服务器到客户端的推送。性能比 dubbo 要高很多。

该答案已被忽略,原因:

(看完/读完)这篇文章有何感想! 胜博发游戏官网的分享…

胜博发游戏官网dom4j操作xml文件怎么在指定节点增加父节点?

( 胜博发游戏官网 )

<?xml version=”1.0″ encoding=”UTF-8″?>
<xml1>

<AFE.11 NAME='姓名'>王二</AFE.11>
<AFE.12 NAME='性别'>男</AFE.12>
<AFE.13 NAME='出生日期'>1985-05-05</AFE.13>
<AFE.14 NAME='民族编码'>01</AFE.14>
<AFE.15 NAME='民族'>汉</AFE.15>
<AFE.16 NAME='家庭住址'>帝都</AFE.16>
<AFE.17 NAME='联系电话'>18795487545</AFE.17>
<BAS.01 NAME='机构ID'>5100010001</BAS.01>
<BAS.02 NAME='住院号'>0000000001</BAS.02>
<BAS.03 NAME='手术编号'>01.0</BAS.03>
<BAS.05 NAME='手术名称'>颅穿刺术</BAS.05>
<BAS.09 NAME='手术日期'>2016-01-05</BAS.09>
<BAS.10 NAME='手术医生'>系大大</BAS.10>
<BAS.11 NAME='手术助理1'>小鹏</BAS.11>
<BAS.12 NAME='手术助理2'>小朋</BAS.12>
<BAS.13 NAME='手术助理3'>晓鹏</BAS.13>
<BAS.14 NAME='麻醉方式编码'>05</BAS.14>
<BAS.15 NAME='麻醉方式名称'>全身麻醉</BAS.15>
<BAX.028 NAME='入院科室名称'>内一科</BAX.028>
<BAX.030 NAME='入院床位名称'>005</BAX.030>
<BAX.031 NAME='入院时间'>2015-05-04</BAX.031>
<BAX.036 NAME='出院时间'>2016-01-18</BAX.036>

</xml1>
把上面这篇文件转换成下面这样的:
<?xml version=”1.0″ encoding=”UTF-8″?>
<xml>

<AFE id="0">
    <AFE.11 NAME='姓名'>王二</AFE.11>
    <AFE.12 NAME='性别'>男</AFE.12>
    <AFE.13 NAME='出生日期'>1985-05-05</AFE.13>
    <AFE.14 NAME='民族编码'>01</AFE.14>
    <AFE.15 NAME='民族'>汉</AFE.15>
    <AFE.16 NAME='家庭住址'>帝都</AFE.16>
    <AFE.17 NAME='联系电话'>18795487545</AFE.17>
</AFE>
<BAS id="d">
    <BAS.01 NAME='机构ID'>5100010001</BAS.01>
    <BAS.02 NAME='住院号'>0000000001</BAS.02>
    <BAS.03 NAME='手术编号'>01.0</BAS.03>
    <BAS.05 NAME='手术名称'>颅穿刺术</BAS.05>
    <BAS.09 NAME='手术日期'>2016-01-05</BAS.09>
    <BAS.10 NAME='手术医生'>系大大</BAS.10>
    <BAS.11 NAME='手术助理1'>小鹏</BAS.11>
    <BAS.12 NAME='手术助理2'>小朋</BAS.12>
    <BAS.13 NAME='手术助理3'>晓鹏</BAS.13>
    <BAS.14 NAME='麻醉方式编码'>05</BAS.14>
    <BAS.15 NAME='麻醉方式名称'>全身麻醉</BAS.15>
</BAS>
<BAX id="e">
    <BAX.028 NAME='入院科室名称'>内一科</BAX.028>
    <BAX.030 NAME='入院床位名称'>005</BAX.030>
    <BAX.031 NAME='入院时间'>2015-05-04</BAX.031>
    <BAX.036 NAME='出院时间'>2016-01-18</BAX.036>
</BAX>

</xml>

(看完/读完)这篇文章有何感想! 胜博发游戏官网的分享…