标签: entities

如何在Java中解析格式错误的XML?

我有XML需要解析但无法控制创建.不幸的是,它不是非常严格的XML并包含以下内容:

<mytag>This won't parse & contains an ampersand.</mytag>
Run Code Online (Sandbox Code Playgroud)

javax.xml.stream类根本不喜欢这个,并且正确地错误:

javax.xml.stream.XMLStreamException: ParseError at [row,col]:[149,50]
Message: The entity name must immediately follow the '&' in the entity reference.
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?我无法更改XML,所以我想我需要一个容错的解析器.

我倾向于修复一个不需要对现有解析器代码造成太多破坏的修复.

java xml parsing entities

10
推荐指数
2
解决办法
2477
查看次数

在.NET中使用XmlReader取消XML实体?

我试图在.NET(C#)中的字符串中删除XML实体,但我似乎没有让它正常工作.

例如,如果我有字符串AT&amp;T,则应将其翻译为AT&T.

一种方法是使用HttpUtility.HtmlDecode(),但这是用于HTML.

所以我有两个问题:

  1. 使用HttpUtility.HtmlDecode()解码XML实体是否安全?

  2. 我如何使用XmlReader(或类似的东西)来做到这一点?我尝试了以下,但总是返回一个空字符串:

    static string ReplaceEscapes(string text)
    {
        StringReader reader = new StringReader(text);
    
        XmlReaderSettings settings = new XmlReaderSettings();
    
        settings.ConformanceLevel = ConformanceLevel.Fragment;
    
        using (XmlReader xmlReader = XmlReader.Create(reader, settings))
        {
            return xmlReader.ReadString();
        }
    }
    
    Run Code Online (Sandbox Code Playgroud)

.net xml entities translate

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

LINQ2SQL:如何在加载匿名实体时修改字段值?

!请不要重定向到本文,因为它没有解决下面描述的问题.

假设我们在数据库中有这样的表:

SomeTable

  • ID(int)
  • DT(日期时间)

我们已经配置了Linq2Sql数据上下文.我们为SomeTable配置了一个实体:OnLoaded方法以DT的DateTimeKind变为Utc(最初是未指定的)的方式修改DT.

现在问题是:

如果我们使用整个实体请求数据,则调用OnLoaded方法:

From x In ourDataContext.SomeTable Select x
Run Code Online (Sandbox Code Playgroud)

但是如果我们只请求表的一部分(因此生成一个匿名类型),则不会调用OnLoaded:

From x In ourDataContext.SomeTable Select x.DT
Run Code Online (Sandbox Code Playgroud)

很明显,OnLoaded是在SomeTable实体中定义的,而不是匿名类型.

目前我考虑创建可替代匿名类型的自定义实体.但也许有人有更好的解决方案?

.net entities linq-to-sql

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

使用optgroup在Symfony2选项字段中进行实体映射

假设Symfony2中的实体具有字段bestfriend,该字段是UserUser满足复杂要求的实体列表中选择的实体.您可以通过指定它是实体字段类型来在表单中呈现此字段,即:

$builder->add('bestfriend', 'entity', array(
   'class' => 'AcmeHelloBundle:User',
   'property' => 'username',
));
Run Code Online (Sandbox Code Playgroud)

此表单字段呈现为a <select>,其中每个显示的值都采用以下形式:

<option value="user_id">user_username</option>
Run Code Online (Sandbox Code Playgroud)

因此,人们可以通过使用<optgroup>标签来突出显示朋友的这种特殊功能.

遵循这个原则,我创建了一个字段类型,即FriendType这个答案中创建选择数组,其呈现方式如下:

$builder->add('bestfriend', new FriendType(...));
Run Code Online (Sandbox Code Playgroud)

FriendType类创建一个<select>具有相同组织<option>秒,但下举办<optgroup>秒.

我来这里问题!提交表单时,框架会识别出用户字段不是User的实例,但它是一个整数.我怎样才能让Symfony2明白传递的int是User类型实体的id?

forms entities symfony

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

EclipseLink中具有动态实体的序列

我正在尝试使用动态实体的序列在EclipseLink中工作,我需要一些帮助.

我正在定义我的动态实体,如下所示:

    EntityManagerFactory emf = Persistence.createEntityManagerFactory("default");
    EntityManager em = emf.createEntityManager();

    Session session = JpaHelper.getEntityManager(em).getServerSession();
    DynamicClassLoader dcl = DynamicClassLoader.lookup(session);

    Class<?> testClass = dcl.createDynamicClass("org.persistence.Test");

    JPADynamicTypeBuilder test = new JPADynamicTypeBuilder(testClass, null, "TEST");

    test.addDirectMapping("id", long.class, "T_ID");
    test.setPrimaryKeyFields("T_ID");
    test.addDirectMapping("col1", long.class, "T_COL1");
    test.addDirectMapping("col2", int.class, "T_COL2");
    test.addDirectMapping("col3", String.class, "T_COL3");
    test.addDirectMapping("col4", String.class, "T_COL4");
    test.addDirectMapping("col5", double.class, "T_COL5");
    test.addDirectMapping("col6", double.class, "T_COL6");

    DynamicHelper helper = new JPADynamicHelper(em);
    helper.addTypes(true, true, test.getType());
Run Code Online (Sandbox Code Playgroud)

我注意到一切都是根据指​​定创建的.我试图寻找一些文档如何使用数据库序列,我注意到了JPADynamicTypeBuilder.configureSequencing(Sequence,String,String)方法.但我找不到任何关于如何做的例子.我玩弄了这个方法,我总是使用默认的排序策略,即一个名为SEQUENCE的表.

我尝试使用@GeneratedValue和@SequenceGenerator进行预编译实体,一切正常,所以我对动态实体做错了.

有谁知道我可能做错了什么?

这似乎无关紧要,但无论如何我告诉我的数据库是Oracle.

提前致谢,

java entities dynamic sequence eclipselink

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

SqlResultSetMapping列为和实体

我真的很困惑,列结果集映射如何工作?当我使用列而不是实体时,我映射的是什么?看看这个例子......

Query q = em.createNativeQuery(
       "SELECT o.id AS order_id, " +
           "o.quantity AS order_quantity, " +
           "o.item AS order_item, " + 
           "i.name AS item_name, " +
         "FROM Order o, Item i " +
         "WHERE (order_quantity > 25) AND (order_item = i.id)",
       "OrderResults");

   @SqlResultSetMapping(name="OrderResults",
       entities={
           @EntityResult(entityClass=com.acme.Order.class, fields={
               @FieldResult(name="id", column="order_id"),
               @FieldResult(name="quantity", column="order_quantity"),
               @FieldResult(name="item", column="order_item")})},
       columns={
           @ColumnResult(name="item_name")}
       )
Run Code Online (Sandbox Code Playgroud)

我可以理解他在这里要做的是什么,实体结果将是他想要的结果集,字段将尝试将字段映射到别名,列结果到底是做什么的?它看起来不像是映射到任何东西.

java entities jpa sqlresultsetmapping

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

使用实体创建表 - Doctrine Symfony2

我在不使用php命令的情况下创建了几个类php app/console doctrine:generate:entity,直接创建并映射了文件夹中的php类MyBundle/Entity.

生成这些类作为Doctrine实体和Mysql表的命令是什么?

entities doctrine symfony

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

禁用Chrome开发者工具中的HTML实体解码

在Chrome上使用开发人员工具时,我错过了一个默认显示HTML实体的功能.以下示例:

我看到的视图我需要的视图

有谁知道如何启用我需要的视图.我知道Chrome有一个主题引擎但是实现的功能符合我的需求吗?

多谢你们 ;)

html entities google-chrome decode developer-tools

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

codeigniter:实体在哪里?

我想知道我应该如何处理我的实体?例如,一个名为Articles的类,带有一些datamembers(名称/标题/日期)和getter&setter.我可以将这些添加到我的文章数据库中,但最好将它们分开.所以你怎么看?

谢谢!

php model-view-controller entities codeigniter

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

Java - 将命名的html实体转换为编号的xml实体

我正在寻找将包含html命名实体的html块转换为符合xml的块,该块使用编号的xml实体,同时保留所有html标记元素.

这是通过测试说明的基本思想:

@Test
public void testEvalHtmlEntitiesToXmlEntities() {
    String input = "<a href=\"test.html\">link&nbsp;</a>";
    String expected = "<a href=\"test.html\">link&#160;</a>";
    String actual = SomeUtil.eval(input);
    Assert.assertEquals(expected, actual);
}
Run Code Online (Sandbox Code Playgroud)

是否有人知道提供此功能的类?我可以编写一个正则表达式来迭代非元素匹配并执行:

xlmString += StringEscapeUtils.escapeXml(StringEscapeUtils.unescapeHtml(htmlString));
Run Code Online (Sandbox Code Playgroud)

但希望有一种更简单的方法或已经提供此类的课程.

html java xml parsing entities

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