关于xml解析<![CDATA[ ]] 5C

我从一个数据平台接收消息 获取到的消息格式如下

图片说明
//我通过xpath获取到节点。
document = DocumentHelper.parseText(respMsg);
Node node = document.selectSingleNode("//Msg");
//但是只是获取到了节点里的文本
String resptext =node.getText();
//我还得将这些文本转为xml对象 再通过xpath查找元素 取得标签里的值
Document doc = DocumentHelper.parseText(resptext);
List list =doc.selectNodes("//row");
//但是这样的话 如果row里有个别数据带有< & >等 这里就完蛋了(比如 张三变成了 张三<男>)
求助大家 给个方法 该怎么解析呢
更多 0

5个回答

试试根据<>分割,只取有用的信息,可以自定义一个接口,需要获取部分信息的时候调用一下就可以了

能不能你提取出来进行数据处理

你用dom解析数据,用标签获取节点数据就可以了

u012462362
最后的机会 大哥,你认真看看我的问题,我当然是Dom解析了,我的问题是怎么解析cdata里面的带有标签的内容
接近 4 年之前 回复

用dom解析不了,可以直接操作字符串手动解析,找到开始结束。

u012462362
最后的机会 这个我倒也想过,但是不实际,不仅麻烦而且效率低下。
接近 4 年之前 回复

我的问题解决了,跟你一样的数据返回,谢谢你的提醒。
String xmlResponse = getDepartMentInfo();
Document document = DocumentHelper.parseText(xmlResponse);
Element esbEntry = document.getRootElement();
String retCode = esbEntry.element("RetInfo").element("RetCode").getTextTrim();
if("1".equals(retCode)){
List list = document.selectNodes("//Msg");
for(Node node:list){
String resptext =node.getText();
Document doc = DocumentHelper.parseText(resptext);
Element msg = doc.getRootElement();
System.out.println(msg.element("body").element("row").element("DEPT_NAME").getText());
}
}

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
用XStream 解析xml文件时,遇到<![cdata[]]>就报错,怎么办
求给位大牛帮忙,为何我用XStream解析xml文件,遇到<![cdata[]]>,就解析不了,很着急困惑,呜呜呜
<![CDATA[]]>的作用?xml解析和不解析的区别?
急求解决!!!
xml解析,怎么保留特殊字符
xml文件中有一条数据: ``` <data key="url" value="XXX.com/&>XXX"/> ``` 现在我想在在一个类中直接读取到这条key=“url"的数据 问题是: 1、数据可以读到,但是由于有&特殊字符,不能正常解析 ``` ,<![CDATA[]]> ``` 这种方法试了下,但是放在value的引号里边就不起作用,如果放在外边, ``` <![CDATA[value="http://XXXX.com&<"]]> ``` ,value又不能被解析 2、由于数据较多,用转义字符不现实,工作量太大 请问,该怎么办,提前谢谢各位
webservice接口解析数据时,如果不让自己请求头的CDATA封装和对方数据中的CDATA封装弄混?
webservice的接口。我用soupui输入wsdl地址,自动生成的头中有CDATA。对方提供的入参中也有用来转义的CDATA封装。导致我的头和他的尾对应上了,然后解析失败。 下面是我在soupui中生成的头尾: ```<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:dhad="http://dhadapter.nis.xinglintech.com"> <soapenv:Header/> <soapenv:Body> <dhad:sendinpatinfo> <dhad:xml> <![CDATA[ ]]> </dhad:xml> </dhad:sendinpatinfo> </soapenv:Body> </soapenv:Envelope> ``` 下面是对方传输的数据(剩去了部分敏感信息): <?xml version="1.0" ?> <!-- type: hsb.DhcEns.Message.Request id: 35954888 --> <Request xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <MessageCode>MES0088</MessageCode> <InputString></InputString> <InputStream> <![CDATA[<Request><Header><SourceSystem>SYS0008</SourceSystem><MessageID>113738</MessageID></Header><Body><PatientId>318412</PatientId>........................... <Routine><TESTNO>2144648100</TESTNO><REQUESTEDDATETIME>2019-08-02 10:09</REQUESTEDDATETIME><RESULTSRPTDATETIME>2019-08-02 10:09:18</RESULTSRPTDATETIME><SPECIMEN>全血</SPECIMEN><SUBJECT>全血细胞分析+全程CRP</SUBJECT><REPORTITEMNAME>C反应蛋白</REPORTITEMNAME><RESULT><![CDATA[<10.00]]]]><![CDATA[></RESULT><ABNORMALINDICATOR>正常</ABNORMALINDICATOR></Routine> </Body></Request>]]> </InputStream> <TargetSeriveCode>REG0031</TargetSeriveCode> <TargetMethodCode>sendinpatinfo</TargetMethodCode> <TargetParaCode>xml</TargetParaCode> <TargetFunCode>MES0088</TargetFunCode> <EnsRowID>23930436</EnsRowID> <MessageTemplateInfo></MessageTemplateInfo> <RowID></RowID> <TargetSrcCode></TargetSrcCode> <TargetSqlCode></TargetSqlCode> <LinkUrl>/csp/hsb/EnsPortal.VisualTrace.zen?SESSIONID=28550999</LinkUrl> <HL7MessageCode></HL7MessageCode> <SyncType></SyncType> <IntFlag></IntFlag> </Request> 这样我把对方推送的数据放到我的头尾中间进行测试,soupui会把我头结束的<![CDATA[ 和他数据中间</Request>后面的 ]]> 对应上,导致对方推送的数据后面有一部分根本就没被我们识别到,然后解析失败,求大佬帮我分析一下我该怎么办?
用dom4j生成xml文件,解析特殊字符的时候出错了,咋办 啊
我要用dom4j包生成一个xml文件,这个xml文件的格式有这样的内容: <tourl><![CDATA[showComponent("ohomework")]]></tourl> 但是用dom4j包生成的结果是这样的: <tourl>&lt;![CDATA[showComponent("ohomework")]]&gt;</tourl> 结果就解析错误了,这个问题dom4j里应该有解决办法的 大家谁遇到过啊,说说怎么办啊
怎么解析这个xml所有的InnerText
<__InSite __version="1.1" __encryption="2"> <__session> <__useSession> <user> <__name> <![CDATA[ CamstarAdmin ]]> </__name> </user> <sessionId __encrypted="no"> <![CDATA[ b3014ec6-e2fd-4687-95f3-3f12ff5aca77 ]]> </sessionId> </__useSession> </__session> <__service __serviceType="MfgOrderMaint"> <__utcOffset> <![CDATA[ 08:00:00 ]]> </__utcOffset> <__inputData> <ObjectChanges> <ChangeHistory/> <MaterialList> <__listItem/> </MaterialList> </ObjectChanges> </__inputData> <__perform> <__eventName> <![CDATA[ New ]]> </__eventName> </__perform> <__requestData> <CompletionMsg/> <ObjectChanges> <AttachDocumentDetails/> <Attributes/> <BeginProduct/> <BillOfProcess/> <ChangeHistory> <LastChangeDateGMT/> <User/> </ChangeHistory> <ContainerNumberingRule/> <Containers/> <DefaultLot/> <DefaultPutawayStockPoint/> <Description/> <ERPBOM/> <ERPRoute/> <ExternallyControlled/> <FilterTags/> <IsFrozen/> <IsNDO/> <IsRDO/> <MaterialList/> <Name/> <Notes/> <OrderStatus/> <OrderType/> <PlannedCompletionDate/> <PlannedStartDate/> <Priority/> <Product/> <Qty/> <Qty2/> <ReleaseDate/> <ReportingFactory/> <UOM/> <UOM2/> </ObjectChanges> </__requestData> </__service> </__InSite> 代码: private void toolStripSaveas_Click(object sender, EventArgs e) { //初始化一个xml文档对象 XmlDocument xmldoc = new XmlDocument(); //加载xml文档 xmldoc.LoadXml(this.txtXML.Text); //获取根节点的所有子节点 XmlNodeList root = xmldoc.DocumentElement.ChildNodes; GetAllNodes(root); } public void GetAllNodes(XmlNodeList root) { foreach (XmlElement node in root) { //获取节点名字、值 txtvalue.Text = txtvalue.Text + node.InnerText + "\r\n"; if (node.ChildNodes[0] is XmlText) { continue; } else { GetAllNodes(node.ChildNodes); } } } 报错: 无法将类型为“System.Xml.XmlCDataSection”的对象强制转换为类型“System.Xml.XmlElement”。
xml CDATA 中同时使用{} 及“-"抛出异常,如何解决?
都说在CDATA中的所有字符都不会被解析,如下: <![CATA[ LOCAL_AAA={A81-1,A81_1} ]] 这个语句会抛出错误 only one value...,自动截取掉“A81-1”中的“-1”,如果单独使用“A81-1”是没有问题的。就是{}和- 一起使用会抛出异常。我需要使用这两个值,请问大神,如何才能解决这个问题?
XML解析获取 description tab
使用下面的 xml 中的 xml parsing,如何解析 description 细节? <item> <title>All India Lawyer Conference at Lucknow </title> <description> <text><![CDATA[<p style="text-align: center;">]]></text> <image>http://www.bjp.org/images/stories/kamala_2.png</image> <text><![CDATA[ <p style="text-align: center;"><span style="color: #ff6600;"><span style="font-size: 24pt;"><strong>Bharatiya Janata Party</strong><strong><em><br /><br /></em></strong></span></span></p> <span style="color: #008000;"><span style="font-size: 18pt;"><span style="font-family: arial black,avant garde;">&nbsp;</span></span></span> <p style="text-align: center;"><span style="color: #008000;"><span style="font-size: 18pt;"><strong><span style="font-family: 'arial black', 'avant garde';">All India Lawyer Conference </span></strong></span></span></p> <p style="text-align: center;"><span style="color: #008000;"><span style="font-size: 18pt;"><strong><span style="font-family: 'arial black', 'avant garde';">at Lucknow (Uttar Pradesh)</span></strong></span></span></p> <p style="text-align: center;"><span style="font-family: 'arial black', 'avant garde'; color: #008000; font-size: large;"><strong><br /></strong></span></p> <p style="text-align: center;"> </p> <p style="text-align: center;"><strong><span style="font-family: andale mono,times;"><em><span style="font-size: 14pt;"><span style="color: #ff0000;">of</span></span></em></span></strong></p> <p style="text-align: center;"><span style="font-family: arial black,avant garde;"><span style="font-size: 14pt;"><span style="color: #000080;"><strong>BJP President Shri Nitin Gadkari</strong></span></span></span></p> <p style="text-align: center;"> </p> <p style="text-align: center;"><span style="font-size: 12pt;"><span style="color: #ff0000;"><strong>on<br /></strong></span></span></p> <p style="text-align: center;"><strong><span style="font-size: 12pt;"><span style="color: #ff0000;">May 15, 2011 (Sunday)</span></span><br /></strong></p>]]></text> </description> <author> anurag.pathak@bjp.org (Anurag Pathak)</author> <pubDate>Sun, 15 May 2011 00:00:00 GMT</pubDate> </item> 我想把文本以粗体显示: @Override public void startElement(String uri, String localName, String qName,Attributes attributes) throws SAXException { printParseInfo("startElement:", uri, localName, qName); int attributesLength = attributes.getLength(); for (int i = 0; i < attributesLength; i++) { printAttributeInfo(attributes, i); } currentElement = true; if (localName.equals("rss")) { /** Start */ sitesList = new SitesList(); } } /** Called when tag closing ( ex:- <name>AndroidPeople</name> -- </name> )*/ @Override public void endElement(String uri, String localName, String qName) throws SAXException { currentElement = false; printParseInfo("endElement: ", uri, localName, qName); /** set value */ if (localName.equalsIgnoreCase("title")) { //Log.d("title--->",currentValue); sitesList.setTitle(currentValue); } else if(localName.equalsIgnoreCase("span")) { //Log.d("strong-->",currentValue); sitesList.setStrong(currentValue); } if (localName.equalsIgnoreCase("description")) { //Log.d("description--->",currentValue); sitesList.setDescription(currentValue); } else if (localName.equalsIgnoreCase("author")) { //Log.d("Author--->",currentValue); sitesList.setAuthor(currentValue); } else if(localName.equalsIgnoreCase("pubDate")) { //Log.d("pubDate--->",currentValue); sitesList.setPubDate(currentValue); } else if(localName.equalsIgnoreCase("image")) { //Log.d("Image--->",currentValue); sitesList.setImage(currentValue); } } /** Called to get tag characters ( ex:- <name>AndroidPeople</name> -- to get AndroidPeople Character ) */ @Override public void characters(char[] ch, int start, int length) throws SAXException { if (currentElement) { currentValue = new String(ch, start, length); Log.d("char-->",currentValue); currentElement = false; } }
如何解析这种格式数据
java远程调用的webService的接口 但是返回的数据类型该如何解析 我用的是xml解析都不行 麻烦请大神看一下 要解析的数据 * ``` 我的解析方法 ``` <Integration> <GetDepartments> <Head> <ErrCode>0</ErrCode> <ErrMsg>成功</ErrMsg> </Head> <Body> <Item> <DeptID>1</DeptID> <DeptCode>0001</DeptCode> <DeptName><![CDATA[Head Office]]></DeptName> <Director></Director> <ParentDeptID>0</ParentDeptID> <ParentDeptCode>0</ParentDeptCode> <ParentDeptName><![CDATA[]]></ParentDeptName> <PersonNum>1</PersonNum> <Remark><![CDATA[]]></Remark> </Item> ... </Body> </GetDepartments> </Integration> ``` 我的解析方法 ``` doc = DocumentHelper.parseText(String.valueOf(returnObj)); Element root = doc.getRootElement(); root.elementText("ErrCode")
Django开发微信公众号无法回复消息
# 需求 用Django开发一个公众号,实现的功能是用户发一条文本消息,我直接返回回去 #代码 我的代码如下: ``` views.py # 微信调用测试使用 class WeixinInterfaceView(View): def get(self, request): # 得到GET内容 signature = request.GET.get('signature', None) timestamp = request.GET.get('timestamp', None) nonce = request.GET.get('nonce', None) echostr = request.GET.get('echostr', None) # 自己的token token = 'SvenWeng' # 这里改写你在微信公众平台里输入的token # 字典序排序 tmpList = [token, timestamp, nonce] tmpList.sort() tmpstr = '%s%s%s' % tuple(tmpList) # sha1加密算法 tmpstr = hashlib.sha1(tmpstr).hexdigest() # 如果是来自微信的请求,则回复echostr if tmpstr == signature: return render(request, 'get.html', {'str': echostr}, content_type='text/plain') def post(self, request): # str_xml = request.body.decode('utf-8') # use body to get raw data str_xml = smart_str(request.body) xml = etree.fromstring(str_xml) # 进行XML解析 toUserName = xml.find('ToUserName').text fromUserName = xml.find('FromUserName').text createTime = xml.find('CreateTime').text msgType = xml.find('MsgType').text content = xml.find('Content').text # 获得用户所输入的内容 msgId = xml.find('MsgId').text return render(request, 'reply_text.xml', {'toUserName': toUserName, 'fromUserName': fromUserName, 'createTime': time.time(), 'msgType': msgType, 'content': content, }, content_type='application/xml' ) ``` ``` reply_text.xml <xml> <ToUserName><![CDATA[{{ toUserName }}]]></ToUserName> <FromUserName><![CDATA[{{ fromUserName }}]]></FromUserName> <CreateTime>{{ createTime }}</CreateTime> <MsgType><![CDATA[{{ msgType }}]]></MsgType> <Content><![CDATA[{{ content }}]]></Content> </xml> ``` ``` urls.py urlpatterns = [ url(r'^admin/', include(admin.site.urls)), url(r'^grzx/', include('MyBlog.urls', namespace='grzx')), url(r'^', include('MyBlog.urls')), url(r'^weixin/', csrf_exempt(WeixinInterfaceView.as_view())), ] urlpatterns += staticfiles_urlpatterns() ``` 我使用测试工具受到返回的结果是这样的 ``` <xml> <ToUserName><![CDATA[diandianweizixun]]></ToUserName> <FromUserName><![CDATA[wyb199026]]></FromUserName> <CreateTime>1452836946.28</CreateTime> <MsgType><![CDATA[text]]></MsgType> <Content><![CDATA[111111111]]></Content> </xml> ``` 我这个返回和微信的开发文档要求是一样的,为什么我在公众号上回复提示暂时无法服务?附上微信测试工具返回的结果 ``` 请求地址:http://www.ddhbblog.sinaapp.com/weixin/ Connection: keep-alive Date: Fri, 15 Jan 2016 05:50:13 GMT Transfer-Encoding: chunked Set-Cookie: saeut=CkMPGlaYiJVgTmYsBOEuAg==; expires=Thu, 31-Dec-37 23:55:55 GMT; path=/ Via: yq26.pyruntime Server: nginx Content-Type: application/xml <xml> <ToUserName> <![CDATA[diandianweizixun]]> </ToUserName> <FromUserName> <![CDATA[wyb199026]]> </FromUserName> <CreateTime>1452837013.23</CreateTime> <MsgType> <![CDATA[text]]> </MsgType> <Content> <![CDATA[12312312]]> </Content> </xml> ``` 求大神指点迷津
【微信开发】为什么TOKEN一直验证失败呢?
我是用的SAE新浪云来搞的,也进行了实名认证,接受数据的URL也没输错,但是就是token验证不通过,眼睛都看花了,麻烦能人帮忙找找错~谢谢! ``` <?php header('content-type:text/html;charset=utf-8'); //定义常量TOKEN,用来存储token define("TOKEN","weixin"); //封装验证逻辑 function checkSignature(){ //获取微信服务器发送的GET请求,得到四个参数 $signature = $_GET['signature']; $timestamp = $_GET['timestamp']; $nonce = $_GET['nonce']; //定义数组,存储三个参数 $tmpArr = array(TOKEN,$nonce,$timestamp); //对数组进行排序 sort($tmpArr,SORT_STRING); //转换为字符串 $tempStr = implode($tmpArr); //进行sha1加密 $tempStr = sha1($tempStr); if($tempStr == $signature){ return true; }else{ return false; } } //判断是否验证成功 if(checkSignature()){ if($echostr){ $echostr = $_GET['echostr']; echo $echostr; exit(); } } //获取微信服务器发送的POST数据 $postData = $HTTP_RAW_POST_DATA; if(!$postData){ echo "error"; exit(); } //解析获得的数据 $object = simplexml_load_string($postData,"SimpleXMLElement",LIBXML_NOCDATA); $ToUserName = $object -> ToUserName; $FromUserName = $object -> FromUserName; $MsgType = $object -> MsgType; //根据不同类型的消息做出不同的回复 switch($MsgType){ case "text": $Content = $object -> Content; $respXml = "<xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName><![CDATA[$s]]></FromUserName> <CreateTime>&s</CreateTime> <MsgType><![CDATA[text]]></MsgType> <Content><![CDATA[%s]]></Content> </xml>"; $result = sprintf($respXml,$FromUserName,$ToUserName,time(),$Content); echo $result; break; case "image": $MediaId = $object -> MediaId; $respXml = "<xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName><![CDATA[%s]]></FromUserName> <CreateTime>%s</CreateTime> <MsgType><![CDATA[image]]></MsgType> <Image> <MediaId><![CDATA[%s]]></MediaId> </Image> </xml>"; $result = sprintf($respXml,$FromUserName,$ToUserName,time(),$MediaId); echo $result; break; } ```
SAX无法解析root。不知道是不是bug
有两种情况 这种格式化的XML是能解析: ``` <xml> <return_code><![CDATA[SUCCESS]]></return_code> <return_msg><![CDATA[OK]]></return_msg> </xml> ``` 没有格式化不能被正确解析: ``` <xml><return_code><![CDATA[SUCCESS]]></return_code> <return_msg><![CDATA[OK]]></return_msg> </xml> ``` 解析到<xml>就解析不出标签.不执行此方法 public void characters(char ch[], int start, int length) ``` import java.io.ByteArrayInputStream; import java.util.LinkedHashMap; import java.util.Map; import java.util.Vector; import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; import org.json.simple.JSONObject; import org.xml.sax.Attributes; import org.xml.sax.SAXException; import org.xml.sax.helpers.DefaultHandler; public class XMLParser extends DefaultHandler { private Vector<String> tagName; private Vector<String> tagValue; private int step; private Map<String, String> map = new LinkedHashMap<String, String>(); // 开始解析XML文件 public void startDocument() throws SAXException { tagName = new Vector<String>(); tagValue = new Vector<String>(); step = 0; } // 结束解析XML文件 public void endDocument() throws SAXException { for (int i = 0; i < tagName.size(); i++) { if (!tagName.get(i).equals("") || tagName.get(i) != null) { map.put(tagName.get(i), tagValue.get(i)); //System.out.println("节点名称:" + tagName.get(i)); //System.out.println("节点值:" + tagValue.get(i)); } } } /** * 在解释到一个开始元素时会调用此方法.但是当元素有重复时可以自己写算法来区分 这些重复的元素.qName是什么? <name:page * ll=""></name:page>这样写就会抛出SAXException错误 通常情况下qName等于localName */ public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException { tagName.add(qName);// 节点名称 /* for (int i = 0; i < attributes.getLength(); i++) {// 循环输出属性 System.out.println("属性名称:" + attributes.getQName(i));// 获取属性名称 System.out.println("属性值:"+ attributes.getValue(attributes.getQName(i)));// 获取属性值 } */ } /** * 在遇到结束标签时调用此方法 */ public void endElement(String uri, String localName, String qName) throws SAXException { step = step + 1; } /** * 读取标签里的值,ch用来存放某行的xml的字符数据,包括标签,初始大小是2048, 每解释到新的字符会把它添加到char[]里。 * * 注意,这个char字符会自己管理存储的字符, 并不是每一行就会刷新一次char,start,length是由xml的元素数据确定的, * 暂时找不到规律,以后看源代码. * * 这里一个正标签,反标签都会被执行一次characters,所以在反标签时不用获得其中的值 */ public void characters(char ch[], int start, int length) throws SAXException { // 只要当前的标签组的长度一至,值就不赋,则反标签不被计划在内 if (tagName.size() - 1 == tagValue.size()) { tagValue.add(new String(ch, start, length)); } } public Map<String, String> xmlConvertMap(String xmlContent){ SAXParserFactory spf = SAXParserFactory.newInstance(); try { SAXParser saxParser = spf.newSAXParser(); XMLParser parseXML = new XMLParser(); saxParser.parse(new ByteArrayInputStream(xmlContent.getBytes("utf-8")), parseXML); return parseXML.map; } catch (Exception e) { e.printStackTrace(); } return null; } @SuppressWarnings("unchecked") public JSONObject xmlConvertJson(String xmlContent){ Map<String, String> tempMap = xmlConvertMap(xmlContent); JSONObject json = new JSONObject(); json.putAll(tempMap); return json; } } ```
java配置文件,dtd如何给xml标签的属性赋默认值,我想知道dom4j一类的解析器底层如何实现的
举个例子,下文的xml,是如何拿到 flag=true的默认值的,java底层是怎么实现的 <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE shopping [ <!ELEMENT book (name,price,count,comment)> <!ELEMENT name (#PCDATA)> <!ELEMENT price (#PCDATA)> <!ELEMENT count (#PCDATA)> <!ELEMENT comment (#PCDATA)> <!--comment标签的flag属性 字符串类型 缺省值/默认值--> <!ATTLIST comment flag CDATA "true"> ]> <shopping> <book> <name>了凡四训</name> <price>100</price> <count>3</count> <comment></comment> </book> <book> <name>孟子</name> <price>200</price> <count>5</count> <!-- flag属性不写都可以 --> <comment></comment> </book> <book> <name>灵枢</name> <price>300</price> <count>7</count> <!-- flag属性的值 自定义也可以 --> <comment flag="false"></comment> </book> </shopping> 这个flag属性,省略时底层是怎么拿到的,或者说底层怎么赋上默认值,求解.
mybatis解析标签错误SAXParseException,提示namespace必须声明,麻烦大家给看一下
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="org.login"> <select id="checkUser" parameterType="int" resultType="int"> <![CDATA[ select count(user_id) from sys_user where user_name = '#userName' ]]> </select> <resultMap type="tprivilegeUser" id="tprivilegeUser"> <id column="USER_ID" property="userId"></id> <result column="USER_NAME" property="userName"></result> <result column="USER_SEX" property="sex"></result> <result column="USER_PWD" property="password"></result> <result column="USER_ADDRES" property="addres"></result> <result column="USER_EMAIL" property="email"></result> <result column="USER_QQ" property="qq"></result> <result column="USER_MOBILE_PHONE" property="mobilePhone"></result> <result column="ONLINE" property="online"></result> <result column="VALID" property="valid"></result> </resultMap> <select id="getTprivilegeUser" parameterType="String" resultType="tprivilegeUser" resultMap="tprivilegeUser"> <![CDATA[ select * from T_TPRIVILEGE_USER where USER_NAME = '#identify' or USER_EMAIL='#identify' or USER_MOBILE_PHONE = '#identify' ]]> </select> </mapper> 在加载的时候提示Caused by: org.xml.sax.SAXParseException: Attribute "namespace" must be declared for element type "mapper". 我在开头已经定义过了,不知道为什么还报这个错 麻烦帮忙看一下,感激不尽
从XML文件中获取完整的 RSS 内容提要
以下是XML 文件,我想从每个Item tag中取出 Description tag 的内容。我使用一个SAX解析器,但是不正确,如何实现呢? <?xml version="1.0" encoding="utf-8"?> <!-- generator="FeedCreator 1.8.0-dev (info@mypapit.net)" --> <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> <channel> <title>Latest Happenings</title> <description></description> <link>http://www.bjp.org/</link> <lastBuildDate>Wed, 25 May 2011 11:28:15 GMT</lastBuildDate> <generator>FeedCreator 1.8.0-dev (info@mypapit.net)</generator> <atom:link href="http://www.bjp.org/index.php?option=com_ninjarsssyndicator&amp;feed_id=12&amp;format=raw" rel="self" type="application/rss+xml" /> <item> <title>Meeting of BJP State Presidents, Pradesh Prabharies/Sah-prabharis and State General Secretaries (Org.) at Lucknow</title> <description> <image>http://www.bjp.org/images/stories/ne_eng_may_05_2011.jpg</image> </description> <author> anurag.pathak@bjp.org (Anurag Pathak)</author> <pubDate>Sun, 05 Jun 2011 00:00:00 GMT</pubDate> </item> <item> <title>BJP National Executive Meeting at Lucknow</title> <description> <image>http://www.bjp.org/images/stories/meeting3062011.jpg</image> </description> <author> anurag.pathak@bjp.org (Anurag Pathak)</author> <pubDate>Sat, 04 Jun 2011 00:00:00 GMT</pubDate> </item> <item> <title>BJP National Executive Meeting at Lucknow</title> <description> <image>http://www.bjp.org/images/stories/meeting3062011.jpg</image> </description> <author> anurag.pathak@bjp.org (Anurag Pathak)</author> <pubDate>Fri, 03 Jun 2011 00:00:00 GMT</pubDate> </item> <item> <title>National Conference on RTI Training by RTI Cell</title> <description> <text><![CDATA[<img width="900" src="http://www.bjp.org/images/stories/invitation card new.jpg" />]]></text> </description> <author> anurag.pathak@bjp.org (Anurag Pathak)</author> <pubDate>Thu, 26 May 2011 00:00:00 GMT</pubDate> </item> <item> <title>BJYM against corruption – Hai Dum To Badhao Kadam, Chhattisgarh</title> <description> <text><![CDATA[<p>]]></text> <link>http://www.bjym.org/hai-dum-to-badhao-kadam</link> <text><![CDATA[</p> <p>]]></text> <image>http://www.bjp.org/images/stories/bjym_1.jpg</image> </description> <author> anurag.pathak@bjp.org (Anurag Pathak)</author> <pubDate>Mon, 23 May 2011 00:00:00 GMT</pubDate> </item> <item> <title>National Convention on Corruption &amp;amp; Recovery of Black Money by CA Cell</title> <description> <image>http://www.bjp.org/images/stories/ca1.jpg</image> <text><![CDATA[ <div><br /> <div>]]></text> <image>http://www.bjp.org/images/stories/ca1.jpg</image> <text><![CDATA[ </div>]]></text> </description> <author> anurag.pathak@bjp.org (Anurag Pathak)</author> <pubDate>Tue, 17 May 2011 07:20:52 GMT</pubDate> </item> <item> <title>All India Lawyer Conference at Lucknow </title> <description> <text><![CDATA[<p style="text-align: center;">]]></text> <image>http://www.bjp.org/images/stories/kamala_2.png</image> <text><![CDATA[ <p style="text-align: center;"><span style="color:#ff6600;"> <span style="font-size: 24pt;"><strong>Bharatiya Janata Party</strong><strong><em><br /><br /></em></strong></span></span></p> <span style="color: #008000;"><span style="font-size: 18pt;"><span style="font-family: arial black,avant garde;">&nbsp;</span></span></span> <p style="text-align: center;"><span style="color:#008000;"><span style="font-size: 18pt;"><strong><span style="font-family: 'arial black', 'avant garde';">All India Lawyer Conference </span></strong></span></span></p> <p style="text-align: center;"><span style="color:#008000;"><span style="font-size: 18pt;"><strong><span style="font-family: 'arial black', 'avant garde';">at Lucknow (Uttar Pradesh)</span></strong></span></span></p> <p style="text-align: center;"><span style="font-family: 'arial black', 'avant garde'; color:#008000; font-size: large;"><strong><br /></strong></span></p> <p style="text-align: center;"> </p> <p style="text-align: center;"><strong><span style="font-family: andale mono,times;"><em><span style="font-size: 14pt;"><span style="color:#ff0000;">of</span></span></em></span></strong></p> <p style="text-align: center;"><span style="font-family: arial black,avant garde;"><span style="font-size: 14pt;"><span style="color: #000080;"><strong>BJP President Shri Nitin Gadkari</strong></span></span></span></p> <p style="text-align: center;"> </p> <p style="text-align: center;"><span style="font-size: 12pt;"><span style="color:#ff0000;"><strong>on<br /></strong></span></span></p> <p style="text-align: center;"><strong><span style="font-size: 12pt;"><span style="color: #ff0000;">May 15, 2011 (Sunday)</span></span><br /></strong></p>]]></text> </description> <author> anurag.pathak@bjp.org (Anurag Pathak)</author> <pubDate>Sun, 15 May 2011 00:00:00 GMT</pubDate> </item> <item> <title>Border Darshan: Commemorating 110th Birth Anniversary of Dr. Syama Prasad Mookerjee</title> <description> <text><![CDATA[<p>]]></text> <link>http://borderdarshan.com/</link> <text><![CDATA[</p> <p><img width="900" src="http://www.bjp.org/images/stories/border_darshan_delhi-without pic-shri tarun vijaybalaptenew.jpg" /></p> <p><img src="http://www.bjp.org/images/stories/border_darshan_delhi-without pic-shri tarun vijaybalaptenew.jpg" /></p>]]></text> </description> <author> anurag.pathak@bjp.org (Anurag Pathak)</author> <pubDate>Sat, 14 May 2011 00:00:00 GMT</pubDate> </item> <item> <title>BJP SC Morcha National Executive Meeting at Andhra Pradesh</title> <description> <text><![CDATA[<p style="text-align: center;">]]></text> <image>http://www.bjp.org/images/stories/kamala_2.png</image> <text><![CDATA[ <p style="text-align: center;"><span style="color:#ff6600;"><span style="font-size: 24pt;"><strong>Bharatiya Janata Party</strong><strong><em><br /><br /></em></strong></span></span></p> <span style="color: #008000;"><span style="font-size: 18pt;"><span style="font-family: arial black,avant garde;">&nbsp;</span></span></span><span style="font-family: arial black,avant garde;"><span style="font-size: 18pt;"><span style="color: #008000;"> </span></span></span> <p style="text-align: center;"><span style="font-family: arial black,avant garde;"><span style="font-size: 18pt;"><span style="color: #008000;">BJP SC Morcha National Executive Meeting </span></span></span></p> <p style="text-align: center;"><span style="font-family: arial black,avant garde;"><span style="font-size: 18pt;"><span style="color: #008000;">at </span></span></span></p> <p style="text-align: center;"><span style="font-family: arial black,avant garde;"><span style="font-size: 18pt;"><span style="color: #008000;">Andhra Pradesh</span></span></span></p> <p style="text-align: center;"><span style="font-family: 'arial black', 'avant garde'; color:#008000; font-size: large;"><strong><br /></strong></span></p> <p style="text-align: center;"><strong><span style="font-family: andale mono,times;"><em><span style="font-size: 14pt;"><span style="color:#ff0000;">of</span></span></em></span></strong></p> <p style="text-align: center;"><span style="font-family: arial black,avant garde;"><span style="font-size: 14pt;"><span style="color: #000080;"><strong>ST Morcha National President<br />Shri Faggan Singh Kulasthe</strong></span></span></span></p> <p style="text-align: center;"> </p> <p style="text-align: center;"><span style="font-size: 12pt;"><span style="color:#ff0000;"><strong>on<br /></strong></span></span></p> <p style="text-align: center;"><strong><span style="font-size: 12pt;"><span style="color: #ff0000;">May 12, 2011 (Thursday</span></span></strong><strong><span style="font-size: 12pt;"><span style="color:#ff0000;">)</span></span><br /></strong></p>]]></text> </description> <author> anurag.pathak@bjp.org (Anurag Pathak)</author> <pubDate>Thu, 12 May 2011 00:00:00 GMT</pubDate> </item> <item> <title>Mukhyamantri Sammelan at Constitution Club, New Delhi</title> <description> <text><![CDATA[<p style="text-align: center;">]]></text> <image>http://www.bjp.org/images/stories/kamala_2.png</image> <text><![CDATA[ <p style="text-align: center;"><span style="color:#ff6600;"><span style="font-size: 24pt;"><strong>Bharatiya Janata Party</strong><strong><em><br /><br /></em></strong></span></span></p> <span style="color: #008000;"><span style="font-size: 18pt;"><span style="font-family: arial black,avant garde;">&nbsp;</span></span></span> <p style="text-align: center;"><span style="font-family: arial black,avant garde;"><strong><span style="color:#008000;"><span style="font-size: 18pt;">Mukhyamantri Sammelan </span></span></strong></span></p> <p style="text-align: center;"><span style="font-family: arial black,avant garde;"><strong><span style="color:#008000;"><span style="font-size: 18pt;">at&nbsp; </span></span></strong></span></p> <p style="text-align: center;"><span style="font-family: arial black,avant garde;"><strong><span style="color:#008000;"><span style="font-size: 18pt;">Constitution Club, New Delhi</span></span></strong></span></p> <span style="color: #008000;"><span style="font-size: 18pt;"><strong><span style="font-family: 'arial black', 'avant garde';"><br /></span></strong></span></span> <p style="text-align: center;"><strong><span style="font-family: andale mono,times;"><em><span style="font-size: 14pt;"><span style="color:#ff0000;">of</span></span></em></span></strong></p> <p style="text-align: center;"><span style="font-family: arial black,avant garde;"><span style="font-size: 14pt;"><span style="color: #000080;"><strong>BJP President Shri Nitin Gadkari</strong></span></span></span></p> <p style="text-align: center;"> </p> <p style="text-align: center;"><span style="font-size: 12pt;"><span style="color:#ff0000;"><strong>on<br /></strong></span></span></p> <p style="text-align: center;"><strong><span style="font-size: 12pt;"><span style="color: #ff0000;">May 9-10, 2011 (Monday)</span></span><br /></strong></p>]]></text> </description> <author> pritam.sharma@bjp.org (Pritam Sharma)</author> <pubDate>Mon, 09 May 2011 00:00:00 GMT</pubDate> </item> </channel> </rss>
使用DefaultHandler2 进行 SAX解析 出错
因为我是第一次使用DefaultHandler2这个类 sax解析带有CDATA标签的xml文件, 还不太熟悉,不知道我这样用对不对。 xml文件内容如下:![图片说明](https://img-ask.csdn.net/upload/201507/21/1437494051_620016.png) 我只需要得到 url 标签下 encode、decode、lrcid这三个标签里面的内容。 下面是Java代码 public class MyDefaultHandler2 extends DefaultHandler2{ String currentElement=null; int flag=0; String cData; int count=0; @Override public void endCDATA() throws SAXException { // TODO Auto-generated method stub super.endCDATA(); } @Override public void characters(char[] ch, int start, int length) throws SAXException { // TODO Auto-generated method stub count++; System.out.println("xiaoqiang:"+count); if(flag==1&&currentElement.equals("encode")){ cData=new String(ch,start,length); System.out.println("xiaoqiang:"+cData); }else if(flag==1&&currentElement.equals("decode")){ cData=new String(ch,start,length); System.out.println("xiaoqiang:"+cData); }else if (flag==1&&currentElement.equals("lrcid")) { String thedata=new String(ch,start,length); System.out.println("xiaoqiang:"+thedata); } super.characters(ch, start, length); } @Override public void endDocument() throws SAXException { // TODO Auto-generated method stub super.endDocument(); } @Override public void endElement(String uri, String localName, String qName) throws SAXException { // TODO Auto-generated method stub if(localName.equals("url")){ flag=0; }else { currentElement=null; } super.endElement(uri, localName, qName); } @Override public void startDocument() throws SAXException { // TODO Auto-generated method stub super.startDocument(); } @Override public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException { // TODO Auto-generated method stub if(localName.equals("url")){ flag=1; }else if(localName.equals("encode")){ currentElement="encode"; startCDATA(); }else if(localName.equals("decode")){ currentElement="decode"; startCDATA(); }else if(localName.equals("lrcid")){ currentElement="lrcid"; } super.startElement(uri, localName, qName, attributes); } @Override public void startCDATA() throws SAXException { // TODO Auto-generated method stub cData=null; super.startCDATA(); } } 最后是loagCat的信息: ![图片说明](https://img-ask.csdn.net/upload/201507/21/1437494321_856898.png) 我在每一次触发characters方法的时候记一次数,可以看到是第四次的时候出问题的。而且 encode 和 decode 标签里面的内容也成功获取,而 lrcid 标签里的内容则没有获取。那么应该是解析到 lrcid 标签的时候出了错误。 想请问如何解决这个问题,为什么会出错?
apache mina 解析消息体时出现丢失情况
mina在解析消息体时,出现消息体丢失的情况,如下: <?xml version="1.0" encoding="UTF-8"?><message><mid>null</mid><type>text</type><timestamp>1425542871725</timestamp><handleKey>client_send_text</handleKey><title></title><content><![CDATA[CONFIRM_ORDER{"CUR_MESSAGE":{"TIPS":{"TIP":"请您按时前往送快递,若您已完成任务,请点击确认送达按钮。"},"MSG_TYPE":"SysNotice","BUTTONS":{"FN_TEXT":"确认送达","ON_CLICK":"doAction(401)"},"TITLE":"对方已支付预付款"},"STEP_ID":"401"}]]></content><format>txt</format><sender>admin</sender> [后面有 缺少] Caused by: org.xml.sax.SAXParseException: XML document structures must start and end within the same entity. at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:246) at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:284) 后半部分消息在下面, begain parseMsg: <receiver>admin1</receiver></message> [Fatal Error] :1:30: The markup in the document following the root element must be well-formed. Caused by: org.xml.sax.SAXParseException: The markup in the document following the root element must be well-formed. at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:246) at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:284) 感觉好像client发出去的一个消息,在服务端变成了两个,但报文上显示是一个消息体,请大神解决,谢谢,,,
通过 XMLPull 解析器如何获得属性使用?
我贴出xml文件的一部分代码,显示我想获得的内容 <media:content medium="image" url="http://msnbcmedia.msn.com/j/MSNBC/Components/Photo/_new/111010-romney-health-4p.thumb.jpg"> <media:credit role="provider">Getty Images file</media:credit> <media:copyright>2010 Getty Images</media:copyright> <media:text><![CDATA[<p><a href="http://www.msnbc.msn.com/id/44854320/ns/politics-decision_2012/"><img align="left" border="0" src="http://msnbcmedia.msn.com/j/MSNBC/Components/Photo/_new/111010-romney-health-4p.thumb.jpg" alt="Mitt Romney speaks at the National Press Club March 5, 2010 in Washington, D.C." style="margin:0 5px 5px 0" /></a></p><br clear="all" />]]></media:text> </media:content> 现在我想检索 URL tab,如何检索呢? 用的下面的代码: if(parser.getName().equalsIgnoreCase("media:content")) { Log.d("media count-->",parser.getAttributeCount()+""); } 然后给出的是-1. 请求大家给点意见,如何得到图像的url?
使用Springmvc开发微信公众号数据传输问题
返回给微信服务器的XML格式的字符串,发现在公网Linux服务器中,tomcat的catalina.out文件打印的该字符串少了<ToUserName><![CDATA[toUser]]></ToUserName> <FromUserName><![CDATA[FromUser]]></FromUserName> <CreateTime>123456789</CreateTime> 这几行标签,手机微信提示该订阅号无法提供服务,请稍后再试。 该问题找了好久都找不出原因。是springmvc的数据传输有问题吗? 我贴一下springmvc.xml配置,求帮忙解答!!~ <!-- 自动扫描controller包下的所有类,使其认为spring mvc的控制器 --> <!-- 加载controller的时候,不加载service,因为此时事物并未生效,若此时加载了service,那么事物无法对service进行拦截 --> <context:component-scan base-package="org.jeecgframework.web.*,weixin.*"> <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Service" /> </context:component-scan> <!-- ApplicationContext --> <bean class="org.jeecgframework.core.util.ApplicationContextUtil"></bean> <!-- 避免IE执行AJAX时,返回JSON出现下载文件 --> <bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"> <property name="supportedMediaTypes"> <list> <value>text/html;charset=UTF-8</value> </list> </property> </bean> <!-- 启动Spring MVC的注解功能,完成请求和注解POJO的映射, 配置一个基于注解的定制的WebBindingInitializer,解决日期转换问题,方法级别的处理器映射 --> <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> <property name="cacheSeconds" value="0" /> <property name="messageConverters"> <list> <ref bean="mappingJacksonHttpMessageConverter" /><!-- json转换器 --> </list> </property> <property name="webBindingInitializer"> <bean class="org.jeecgframework.core.interceptors.MyWebBinding" /> </property> </bean> <!-- 默认的视图解析器 在上边的解析错误时使用 (默认使用html)- --> <bean id="defaultViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:order="3"> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" /> <property name="contentType" value="text/html" /> <property name="prefix" value="/webpage/" /> <property name="suffix" value=".jsp" /> </bean> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver" p:defaultEncoding="UTF-8"> <property name="maxUploadSize"> <value>104857600</value> </property> <property name="maxInMemorySize"> <value>4096</value> </property> </bean> <!-- Bean解析器,级别高于默认解析器,寻找bean对象进行二次处理 --> <bean id="beanNameViewResolver" class="org.springframework.web.servlet.view.BeanNameViewResolver" p:order="0"> </bean> <!-- Excel 处理 根据用户输入进行对象处理 --> <bean id="jeecgExcelView" class="org.jeecgframework.poi.excel.view.JeecgSingleExcelView" /> <!-- 方言 --> <bean id="dialect" class="org.jeecgframework.core.common.hibernate.dialect.DialectFactoryBean"> <property name="dbType" value="${jdbc.dbType}" /> </bean> <!-- 异常处理类 --> <bean id="exceptionHandler" class="org.jeecgframework.core.common.exception.MyExceptionHandler" /> <!-- 系统错误转发配置[并记录错误日志] --> <bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver"> <property name="defaultErrorView" value="500"></property> <!-- 默认为500,系统错误(error.jsp) --> <property name="defaultStatusCode" value="404"></property> <property name="statusCodes"><!-- 配置多个statusCode --> <props> <prop key="error">500</prop> <!-- error.jsp --> <prop key="error1">404</prop> <!-- error1.jsp --> </props> </property> <property name="exceptionMappings"> <props> <!-- 这里你可以根据需要定义N多个错误异常转发 --> <prop key="java.sql.SQLException">dbError</prop> <!-- 数据库错误(dbError.jsp) --> <prop key="org.springframework.web.bind.ServletRequestBindingException">bizError</prop> <!-- 参数绑定错误(如:必须参数没传递)(bizError.jsp) --> <prop key="java.lang.IllegalArgumentException">bizError</prop> <!-- 参数错误(bizError.jsp) --> <prop key="org.springframework.validation.BindException">bizError</prop> <!-- 参数类型有误(bizError.jsp) --> <prop key="java.lang.Exception">unknowError</prop> <!-- 其他错误为'未定义错误'(unknowError.jsp) --> </props> </property> </bean> <!-- 拦截器 --> <mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/**" /> <bean class="org.jeecgframework.core.interceptors.EncodingInterceptor" /> </mvc:interceptor> <mvc:interceptor> <mvc:mapping path="/**" /> <bean class="org.jeecgframework.core.interceptors.AuthInterceptor"> <property name="excludeUrls"> <list> <value>loginController.do?goPwdInit</value> <value>loginController.do?pwdInit</value> <value>loginController.do?login</value> <value>loginController.do?checkuser</value> <value>repairController.do?repair</value> <value>repairController.do?deleteAndRepair</value> <value>cmsMenuController.do?index</value> <value>cmsArticleController.do?cmsArticleListShow</value> <value>cmsArticleController.do?datagridwx</value> <value>cmsArticleController.do?cmsArticleShow</value> <value>cmsController.do?goPage</value> <value>cmsController.do?getMenuList</value> <value>wechatController.do?wechat</value> <value>zpController.do?iscontinue</value> <value>zpController.do?saveZpPrize</value> <value>zpController.do?getZpPize</value> <value>zpController.do?saverecord</value> <value>zpController.do?ggl_new</value> <value>zpController.do?ggl</value> <value>zpController.do?zp</value> <value>zpController.do?goZhuanpan</value> <value>weixinCmsStyleController.do?upload</value> <value>newsItemController.do?newscontent</value> <!-- 保存用户 --> <value>userController.do?saveUser</value> </list> </property> </bean> </mvc:interceptor> </mvc:interceptors>
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它是一个过程,是一个不断累积、不断沉淀、不断总结、善于传达自己的个人见解以及乐于分享的过程。
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 free -m 其中:m表示兆,也可以用g,注意都要小写 Men:表示物理内存统计 total:表示物理内存总数(total=used+free) use...
比特币原理详解
一、什么是比特币 比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。 二、问题引入 假设现有4个人...
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发...
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 演示地点演示 html代码如下` music 这个年纪 七月的风 音乐 ` 然后就是css`*{ margin: 0; padding: 0; text-decoration: none; list-...
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。
数据库优化 - SQL优化
以实际SQL入手,带你一步一步走上SQL优化之路!
通俗易懂地给女朋友讲:线程池的内部原理
餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”
经典算法(5)杨辉三角
杨辉三角 是经典算法,这篇博客对它的算法思想进行了讲解,并有完整的代码实现。
使用 Docker 部署 Spring Boot 项目
Docker 技术发展为微服务落地提供了更加便利的环境,使用 Docker 部署 Spring Boot 其实非常简单,这篇文章我们就来简单学习下。首先构建一个简单的 S...
英特尔不为人知的 B 面
从 PC 时代至今,众人只知在 CPU、GPU、XPU、制程、工艺等战场中,英特尔在与同行硬件芯片制造商们的竞争中杀出重围,且在不断的成长进化中,成为全球知名的半导体公司。殊不知,在「刚硬」的背后,英特尔「柔性」的软件早已经做到了全方位的支持与支撑,并持续发挥独特的生态价值,推动产业合作共赢。 而对于这一不知人知的 B 面,很多人将其称之为英特尔隐形的翅膀,虽低调,但是影响力却不容小觑。 那么,在...
面试官:你连RESTful都不知道我怎么敢要你?
干货,2019 RESTful最贱实践
刷了几千道算法题,这些我私藏的刷题网站都在这里了!
遥想当年,机缘巧合入了 ACM 的坑,周边巨擘林立,从此过上了"天天被虐似死狗"的生活… 然而我是谁,我可是死狗中的战斗鸡,智力不够那刷题来凑,开始了夜以继日哼哧哼哧刷题的日子,从此"读题与提交齐飞, AC 与 WA 一色 ",我惊喜的发现被题虐既刺激又有快感,那一刻我泪流满面。这么好的事儿作为一个正直的人绝不能自己独享,经过激烈的颅内斗争,我决定把我私藏的十几个 T 的,阿不,十几个刷题网...
白话阿里巴巴Java开发手册高级篇
不久前,阿里巴巴发布了《阿里巴巴Java开发手册》,总结了阿里巴巴内部实际项目开发过程中开发人员应该遵守的研发流程规范,这些流程规范在一定程度上能够保证最终的项目交付质量,通过在时间中总结模式,并推广给广大开发人员,来避免研发人员在实践中容易犯的错误,确保最终在大规模协作的项目中达成既定目标。 无独有偶,笔者去年在公司里负责升级和制定研发流程、设计模板、设计标准、代码标准等规范,并在实际工作中进行...
SQL-小白最佳入门sql查询一
不要偷偷的查询我的个人资料,即使你再喜欢我,也不要这样,真的不好;
redis分布式锁,面试官请随便问,我都会
文章有点长并且绕,先来个图片缓冲下! 前言 现在的业务场景越来越复杂,使用的架构也就越来越复杂,分布式、高并发已经是业务要求的常态。像腾讯系的不少服务,还有CDN优化、异地多备份等处理。 说到分布式,就必然涉及到分布式锁的概念,如何保证不同机器不同线程的分布式锁同步呢? 实现要点 互斥性,同一时刻,智能有一个客户端持有锁。 防止死锁发生,如果持有锁的客户端崩溃没有主动释放锁,也要保证锁可以正常释...
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // doshom...
Nginx 原理和架构
Nginx 是一个免费的,开源的,高性能的 HTTP 服务器和反向代理,以及 IMAP / POP3 代理服务器。Nginx 以其高性能,稳定性,丰富的功能,简单的配置和低资源消耗而闻名。 Nginx 的整体架构 Nginx 里有一个 master 进程和多个 worker 进程。master 进程并不处理网络请求,主要负责调度工作进程:加载配置、启动工作进程及非停升级。worker 进程负责处...
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,...
程序员:我终于知道post和get的区别
是一个老生常谈的话题,然而随着不断的学习,对于以前的认识有很多误区,所以还是需要不断地总结的,学而时习之,不亦说乎
《程序人生》系列-这个程序员只用了20行代码就拿了冠军
你知道的越多,你不知道的越多 点赞再看,养成习惯GitHub上已经开源https://github.com/JavaFamily,有一线大厂面试点脑图,欢迎Star和完善 前言 这一期不算《吊打面试官》系列的,所有没前言我直接开始。 絮叨 本来应该是没有这期的,看过我上期的小伙伴应该是知道的嘛,双十一比较忙嘛,要值班又要去帮忙拍摄年会的视频素材,还得搞个程序员一天的Vlog,还要写BU...
加快推动区块链技术和产业创新发展,2019可信区块链峰会在京召开
11月8日,由中国信息通信研究院、中国通信标准化协会、中国互联网协会、可信区块链推进计划联合主办,科技行者协办的2019可信区块链峰会将在北京悠唐皇冠假日酒店开幕。   区块链技术被认为是继蒸汽机、电力、互联网之后,下一代颠覆性的核心技术。如果说蒸汽机释放了人类的生产力,电力解决了人类基本的生活需求,互联网彻底改变了信息传递的方式,区块链作为构造信任的技术有重要的价值。   1...
Java世界最常用的工具类库
Apache Commons Apache Commons有很多子项目 Google Guava 参考博客
程序员把地府后台管理系统做出来了,还有3.0版本!12月7号最新消息:已在开发中有github地址
第一幕:缘起 听说阎王爷要做个生死簿后台管理系统,我们派去了一个程序员…… 996程序员做的梦: 第一场:团队招募 为了应对地府管理危机,阎王打算找“人”开发一套地府后台管理系统,于是就在地府总经办群中发了项目需求。 话说还是中国电信的信号好,地府都是满格,哈哈!!! 经常会有外行朋友问:看某网站做的不错,功能也简单,你帮忙做一下? 而这次,面对这样的需求,这个程序员...
网易云6亿用户音乐推荐算法
网易云音乐是音乐爱好者的集聚地,云音乐推荐系统致力于通过 AI 算法的落地,实现用户千人千面的个性化推荐,为用户带来不一样的听歌体验。 本次分享重点介绍 AI 算法在音乐推荐中的应用实践,以及在算法落地过程中遇到的挑战和解决方案。 将从如下两个部分展开: AI算法在音乐推荐中的应用 音乐场景下的 AI 思考 从 2013 年 4 月正式上线至今,网易云音乐平台持续提供着:乐屏社区、UGC...
【技巧总结】位运算装逼指南
位算法的效率有多快我就不说,不信你可以去用 10 亿个数据模拟一下,今天给大家讲一讲位运算的一些经典例子。不过,最重要的不是看懂了这些例子就好,而是要在以后多去运用位运算这些技巧,当然,采用位运算,也是可以装逼的,不信,你往下看。我会从最简单的讲起,一道比一道难度递增,不过居然是讲技巧,那么也不会太难,相信你分分钟看懂。 判断奇偶数 判断一个数是基于还是偶数,相信很多人都做过,一般的做法的代码如下...
为什么要学数据结构?
一、前言 在可视化化程序设计的今天,借助于集成开发环境可以很快地生成程序,程序设计不再是计算机专业人员的专利。很多人认为,只要掌握几种开发工具就可以成为编程高手,其实,这是一种误解。要想成为一个专业的开发人员,至少需要以下三个条件: 1) 能够熟练地选择和设计各种数据结构和算法 2) 至少要能够熟练地掌握一门程序设计语言 3) 熟知所涉及的相关应用领域的知识 其中,后两个条件比较容易实现,而第一个...
Android 9.0 init 启动流程
阅读五分钟,每日十点,和您一起终身学习,这里是程序员Android本篇文章主要介绍Android开发中的部分知识点,通过阅读本篇文章,您将收获以下内容:一、启动流程概述一、 启动流程概述Android启动流程跟Linux启动类似,大致分为如下五个阶段。1.开机上电,加载固化的ROM。2.加载BootLoader,拉起Android OS。3.加载Uboot,初始外设,引导Kernel启动等。...
相关热词 c# 二进制截断字符串 c#实现窗体设计器 c#检测是否为微信 c# plc s1200 c#里氏转换原则 c# 主界面 c# do loop c#存为组套 模板 c# 停掉协程 c# rgb 读取图片
立即提问