在网页上使用xmlstarlet时,我大部分时间都面临实体引用错误.这使得它无法从网页中提取.
因为html页面不是很好的形成XML(还有一些处理html的选项吗?)我将它们转换为
tidy -asxhtml
Run Code Online (Sandbox Code Playgroud)
到XHTML,其中整齐的声明
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Run Code Online (Sandbox Code Playgroud)
然后用xmlstarlet处理它
curl http://www.xfree86.org/current/index.html | tidy -asxhtml | \
xmlstarlet sel --net -T -t -m hr -v . -
Run Code Online (Sandbox Code Playgroud)
它总是抛出相同的错误
-:13: parser error : Entity 'reg' not defined
<h1>Documentation for XFree86® version 4.8.0</h1>
Run Code Online (Sandbox Code Playgroud)
有人知道如何让xmlsttarlet知道实体引用文件.
<!DOCTYPE cruisecontrol [
<!ENTITY triggers "<triggers><intervalTrigger seconds="30" /></triggers>">
<!ENTITY rootdir "J:\pathyness\" >
]>
Run Code Online (Sandbox Code Playgroud)
我正在尝试设置我的第一个cruisecontrol.net服务器,所以因为我想减少重复配置的数量,我试图设置这个嵌套的XML实体,所以我可以&triggers;在xml的主体内使用.
我需要对该XML实体做些什么来<triggers><intervalTrigger seconds="30" /></triggers>确保它能够像我上面说明的那样工作?我知道到目前为止两个陷阱
因此,我不确定我是否必须走得太远,<triggers><intervalTrigger seconds="30" /></triggers>因为所有看起来都像是n度过度.
我试图在Entity Framework中向我的实体插入行.它适用于第一次插入操作,但它不适用于第二次插入操作.我使用Framework 4,C#和FireBird数据库.这是我的代码部分
rec = new T_MEDIAPLAN_REC();
//
//... initialization for T_MEDIAPLAN_REC
//
BossTVEntities.AddToT_MEDIAPLAN_REC(rec);
BossTVEntities.SaveChanges();
Run Code Online (Sandbox Code Playgroud)
它在第二次SaveChanges()调用后给出了这个异常:
"The changes to the database were committed successfully, but an error occurred
while updating the object context. The ObjectContext might be in an inconsistent
state. Inner exception message: AcceptChanges cannot continue because the
object's key values conflict with another object in the ObjectStateManager.
Make sure that the key values are unique before calling AcceptChanges."
Run Code Online (Sandbox Code Playgroud)
我试着看看DataBase.目标实体中有两个插入的记录具有不同的Id.所以,我不知道这种行为的原因是什么.
我使用Visual Studio 2010 SP1 Professional,Firebird 2.5和.NET提供程序,C#,.NET Framework 4.0
它不适用于数据库中的每个实体.
我一直致力于一个由其他开发人员开发的项目.在此项目中,任何返回实体或对象的方法都旨在返回一个名为的特殊值EMPTY_VALUE.
public Customer getCustomer() {
if (everythingFine) {
return realCustomer();
} else {
Customer.EMPTY_VALUE;
}
}
Run Code Online (Sandbox Code Playgroud)
而Customer类:
public class Customer {
public static final Customer EMPTY_VALUE = new Customer();
private String firstName;
private STring lastName;
public Customer() {
this.firstName = "";
this.lastName = "";
}
}
Run Code Online (Sandbox Code Playgroud)
在其他使用getCustomer()方法的地方:
Customer customer = getCustomer();
if (customer != Customer.EMPTY_VALUE) {
doSomething(customer);
}
Run Code Online (Sandbox Code Playgroud)
上述方法是否比null-checking 有任何优势?它给我们买了什么吗?
Customer customer = getCustomer();
if (customer != null) {
doSomething(customer);
}
Run Code Online (Sandbox Code Playgroud) 使用Symfony2/doctrine2,我们使用find()函数根据所选实体获取特定对象(如有关系)(如OneToMany),Doctrine返回所有其他对象.
例如 :
$em = $this->get(
'doctrine.orm.entity_manager',
$request->getSession()->get('entity_manager')
);
$product = $em->getRepository('MyBundle:Product')->find($id);
Run Code Online (Sandbox Code Playgroud)
$ product上的结果将是Product对象+其他链接对象,如(Store,Category,...等).
我们如何控制学说来确定我们需要返回哪个对象.
我可以使用Querybuilder,但我正在寻找是否有任何功能都确定.
我想要算一下这个:
Model.Version.Where(model => model.revision != Model.revision).Count();
Run Code Online (Sandbox Code Playgroud)
但它在VS中告诉我,我不能使用Lambda表达式.
该模型的类型为Documents,它与Version相关联.
我需要版本表中任何文档的计数,用于修订版大于模型修订版的模型文档.
这将是0或1,有时可能高于1我想.
我究竟做错了什么?
if (Model.Version.Where(model => model.revision > Model.revision).Count() > 0)
{
// do something
}
Run Code Online (Sandbox Code Playgroud) 我的应用程序使用symfony框架.为了保存数据库中的记录,我想调用$ this-> getDoctrine() - > getManager(); 我的实体类中的方法.但是当我这样做时它给了我错误:调用未定义的方法getDoctrine(),
有人可以告诉我这是怎样的正确方法.
我的实体类如下:
命名空间Acme\SuperbAppBundle\Entity;
使用Symfony\Component\DependencyInjection\Container; 使用Doctrine\ORM\Mapping作为ORM;
class Users
{
/**
* @var integer
*/
private $id;
/**
* @var string
*/
private $firstName;
/**
* @var string
*/
/**
* Get id
*
* @return integer
*/
public function getId()
{
return $this->id;
}
/**
* Set firstName
*
* @param string $firstName
* @return Users
*/
public function setFirstName($firstName)
{
$this->firstName = $firstName;
return $this;
}
/**
* Get firstName
*
* @return …Run Code Online (Sandbox Code Playgroud) 我正在尝试新建这个对象的实例:
class MyAwesomeRealmObject: BaseRealmObject {
var field: String = ""
var thing: String = ""
var whatever: String = ""
var something: String = ""
var key: String = ""
var cards = [OtherRealmObject]()//wasnt this either
override static func primaryKey() -> String? {
return "key"
}
// override static func ignoredProperties() -> [AnyObject] {
// return ["id"] //this didnt work either
// }
}
Run Code Online (Sandbox Code Playgroud)
这是父类
class BaseRealmObject: Object {
//nothing really here, just extending realm's Object
}
Run Code Online (Sandbox Code Playgroud)
我得到了这个运行时异常.
2015-08-19 10:03:53.388 …Run Code Online (Sandbox Code Playgroud) 从这个SO答案:
update()方法强制更新到数据库中对象的持久状态,始终调度SQL UPDATE。...在将项目对象传递给update()之前或之后进行修改都没有关系。... Hibernate始终将对象视为脏对象,并计划将在刷新期间执行的SQL UPDATE.。另一方面,merge()首先查询数据库,如果状态未更改,则不执行更新。
我想到一个疑问:
Hibernate(或任何JPA实现)如何判断实体的状态是否已更改,从而需要进行更新操作?
我们应该实现equals或hashcode方法来帮助Hibernate做到这一点吗?如果不实现这些方法怎么办?
我正在一个symfony项目中构建一个rest API,我有4个彼此相关的实体,例如:
例如,当我想获取资源时,我已经安装了FOSRestBundle来构建GET Web服务:
我收到此错误:
消息:“已检测到循环参考(配置的极限:1)。”,
这是我的控制器:
<?php
namespace API\APIBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Request;
use FOS\RestBundle\Controller\Annotations as Rest;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Serializer\Encoder\JsonEncoder;
use Symfony\Component\Serializer\Normalizer\GetSetMethodNormalizer;
use Symfony\Component\Serializer\Serializer;
class CartographyController extends Controller
{
/**
* @Rest\View()
* @Rest\Get("/posts")
* @param Request $request
* @return Response
*/
public function getPostsAction(Request $request)
{
$encoder = new JsonEncoder();
$normalizer = new GetSetMethodNormalizer();
$serializer = new Serializer(array($normalizer), array($encoder));
$posts = $this->get('doctrine.orm.entity_manager')
->getRepository('EvalBundle:Post')
->findAll();
return new Response($serializer->serialize($posts, 'json'));
}
/**
* @Rest\View()
* @Rest\Get("/employments") …Run Code Online (Sandbox Code Playgroud)